status
Published
type
Post
category
技术分享
date
Feb 23, 2024
slug
summary
介绍了Frida反调试原理以及解决方案
tags
frida
password
icon
我们在调试app的时候,有没有试过打开apk时,突然闪退了这种情况,因为这些app做了frida的反调试,只要检测到frida运行,app就自动结束,对此,作为一名逆向开发者,有没有应对措施呢?
绕过frida反调试
有些app,在运行的时候,检测frida的相关特征,检测到后就直接退出app----》不允许使用frida调试
Frida的hook
- 正常去运行APP,无额外的其他特征
- 正常去运行APP + 运行frida进行Hook【在手机上会生成一个文件】
有些app内部监测是否有这个文件(运行特征),如果有这个文件,那么就让app强制停止
方案一(遍历so)
so反调试原理:
有些公司,安全部门的人员,会通过编写 so文件,检测frida是否在运行,如果运行,就自动终止app
-安全人员写的so,是单独的,不会跟app的业务功能关联,我们通过删除这些so文件,实现绕过
-我们要尝试删除---》再测试app是否能正常使用,如果正常使用,说明这个so跟业务无关,如果app不能使用了,说明删除的这个so跟业务有关,我们就不能删除
-识货,得物app,就是 删除不影响的
-我们只需要找到是那个so检测了frida,直接删除即可
-写一个hook脚本,在执行app的时候,一个个打印出so文件,当打印到某个so文件时,如果app退出了,这个so文件,就是在检测frida是否运行
-通过hook安卓底层,依次打印 运行app时,加载的so文件---》这个hook脚本,以后直接拿着用
-会依次打印出app加载了那些so文件
打印所有so文件---》删除检测frida的so文件
使用Frida来进行反调试,打印所有的
.so(共享对象)文件,并删除检测到Frida的.so文件,需要执行一系列步骤。打印app加载了那些so文件的hook脚本

删除so
打开cmd
注意: 路径不一样
参考: 2.获取libsscronet.so → 如何获取apk具体路径
d音抓包教程
方案二(增强版frida)
所谓增强版frida,本质上还是frida,其实就是把frida名字改掉---》运行的时候--》没有frida的特征
strongR-frida-android:
strongR-frida-android 它的本质就是frida-server,只是改了名字
它的版本跟frida-server是一一对应的 只要frida-server发一个版本,它一定会跟一个版本 电脑上要安装frida-server的模块--》跟firda-server版本一一对应


所以strongR-frida-android也要是
v14.2.18使用步骤:
- 下载 跟python版本对应的 版本
- 解压:把解压后的文件推送到手机上
- 加执行权限
查看权限
- 运行它即可---》以后就把这东西当 frida-server用即可
以后可以不使用frida-server了,以后就用hluda 当frida-server用即可
方案三(断网执行app)
能正常hook并打开,再联网---》只能绕过比较少的app
📎 参考文章
- 一些引用
- 引用文章
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
Loading...


.png?table=block&id=8cbd9ef4-8c1c-4581-80f1-a15297380674&t=8cbd9ef4-8c1c-4581-80f1-a15297380674&width=1080&cache=v2)

