🗒️Frida反调试

介绍了Frida反调试原理以及解决方案
Frida反调试
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脚本

notion image

删除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
 
使用步骤:
  1. 下载 跟python版本对应的 版本
  1. 解压:把解压后的文件推送到手机上
  1. 加执行权限
查看权限
  1. 运行它即可---》以后就把这东西当 frida-server用即可
 
💡
以后可以不使用frida-server了,以后就用hluda 当frida-server用即可
 
 

方案三(断网执行app)

能正常hook并打开,再联网---》只能绕过比较少的app
 
 
 
 
 
 
 
 
 
 
 
 
 

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
上一篇
Frida RPC
下一篇
JNI
Loading...

相关文章