触发反调试进程终止即可余霜按摩椅事件
发布日期:2024-06-12 06:42 点击次数:130
安卓的最新版B站APP(7.76.0)有反FRIDA机制余霜按摩椅事件,本文介绍一下如何绕过它
问题说明截止到2024年5月1日,B站最新版的安卓APP(7.76.0)有反Frida机制,不管是spawn还是attach,都无法注入frida,如下图所示。本文介绍一下如何绕过它
近年来,越来越多农民工通过学习打开职业发展新空间。比如,被称为“北大保安成人高考第一人”的张俊成,从北大法律系毕业后,回老家创办了一所职业学校并担任校长;和父亲一起外出打工的钟博,在装修工地收到了湖北省武昌工学院的录取通知书……他们的努力不仅让自己圆了梦,还为更多农民工树立起榜样,激励人们求学进取、奋发向上。
方法 定位检测点检测Frida的机制一般在Native层实现,通常会创建几个线程轮询检测。首先要知道检测机制是由哪个so实现的,通过hook android_dlopen_ext函数,观察加载到哪个so的时候,触发反调试进程终止即可。Frida脚本代码与输出如下,最终可以定位到检测点在libmsaoaidsec.so中。
绕过检测点 对抗
使用IDA载入libmsaoaidsec.so,发现没有导入pthread_create符号
使用Frida脚本尝试HOOK pthread_create 函数,也没有找到来自libmsaoaidsec.so的调用
分析
尽管表现有点奇怪,但它一定会调用pthread_create创建检测线程。所以尝试hook dlsym函数,在加载libmsaoaidsec.so之前挂钩dlsym函数,代码如下
输出如下,在加载libmsaoaidsec.so后,调用了2次dlsym获取pthread_create函数,然后进程就终止了。证明它确实会调用pthread_create,只是调用方式不是直接调用,可能采取了一些对抗手段。
绕过
它应该是使用了一些反hook的手段,没有必要和它正面对抗。简单描述一下我的绕过策略,创建一个fake_pthread_create函数,它只有一条ret汇编指令,然后hook来自libmsaoaidsec.so的前2次对dlsym的调用,返回fake_pthread_create函数的地址,这样就达成了欺骗它调用fake_pthread_create函数的目的。最终代码如下
执行frida -U -f tv.danmaku.bili -l bypass.js后即可绕过反frida机制,如下图所示
สล็อต
代码也可从github下载,见引用[1]。
引用[1] https://github.com/ddddhm1234/bypass_bilibili/
阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价余霜按摩椅事件,开 发者可享99元/年,续费同价!