-
-
求助 frida hook b站 崩溃 Illegal instruction
-
发表于:
2024-4-20 13:46
4032
-
求助 frida hook b站 崩溃 Illegal instruction
楼主想要去掉b站客户端的SSL Pinning功能,通过网上查阅资料发现b站使用的网络库是cronet。
根据https://bbs.kanxue.com/thread-277996.htm 的内容,楼主决定hook int CertVerifyProc::Verify(...)
函数,通过ghidra逆向分析确定偏移量为 0x26A980 - 0x10000 = 0x25A980
.
于是编写了如下js测试代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function hook_cornet() {
let module = Process.findModuleByName( "libbilicr.88.0.4324.188.so" );
console.log( "bilicr: " , module.base);
let addr = module.base.add( 0x25A980 );
/ / let addr = module.base.add( 0x25B430 );
console.log(hexdump(addr));
Interceptor.attach(addr, {
onEnter: function (args) {
},
onLeave: function (retval) {
console.log( "cornet verify retval: " , retval.readInt());
}
});
}
|
但是运行之后报错Illegal instruction
,详情如图:
通过hexdump了内存中的指令,和ghidra中显示的是一样的,说明偏移量是没问题的。把偏移量改成下一个函数的,或者注释掉Interceptor.attach(...
部分代码,就不会崩溃了。请问有大佬知道怎么回事吗?
注意:楼主已通过hook strcmp strstr函数,绕开了frida反调试。
此外还有一个问题:b站apk中解压出来的.so文件只有64位的,而/data/app/<packagename>/arm/中的同名.so文件却是32位的,请问这是系统自动生成的吗?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)