首页
社区
课程
招聘
求助 frida hook b站 崩溃 Illegal instruction
发表于: 2024-4-20 13:46 4032

求助 frida hook b站 崩溃 Illegal instruction

2024-4-20 13:46
4032

楼主想要去掉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期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 859
活跃值: (915)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
so只有v8a的   那在32位手机上应该都装不上吧?
2024-4-26 11:43
0
雪    币: 1277
活跃值: (1959)
能力值: ( LV4,RANK:49 )
在线值:
发帖
回帖
粉丝
3
Thumb指令需要地址值|1
2024-4-30 08:45
0
雪    币: 34
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
你说好巧不巧,这篇帖子刚好适合你https://bbs.kanxue.com/thread-281584.htm
2024-5-3 15:25
0
游客
登录 | 注册 方可回帖
返回
//