Frida脱壳工具怎么使用

这篇文章主要讲解了“Frida脱壳工具怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Frida脱壳工具怎么使用”吧!

蒙城网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

Frida脱壳工具

概述

现在很多 app 都会对 Frida 进行检测,所以要根据app的情况来具体使用

壳的分类

壳的种类非常多,可以简单的分为以下三类:

  • 一代整体型:采用Dex整体加密,动态加载运行的机制(免费类的壳);

  • 二代函数抽取型:将方法单独抽取出来,加密保存,解密执行(某加密);

  • 三代VMP、Dex2C:独立虚拟机解释执行。

Frida-Unpack

firda-unpack 原理是利用frida hook libart.so中的OpenMemory方法,拿到内存中dex的地址,计算出dex文件的大小,从内存中将dex导出,我们可以查看项目中的 OpenMemory.js 文件中的代码更清晰直观地了解。

Frida脱壳工具怎么使用

dex 文件并 dump 下来,保存在 data/data/packageName 目录下

FRIDA-DEXDump

葫芦娃所写,脱壳后的dex文件保存在PC端main.py同一目录下,以包名为文件名

GitHub地址:https://github.com/hluwa/FRIDA-DEXDump
Frida脱壳工具怎么使用

frida_dump

文件头搜索dex,来脱壳

会搜索 dex 文件并 dump 下来,保存在 data/data/packageName/files 目录下Frida脱壳工具怎么使用

Frida_Fart[推荐]

寒冰写的, Frida 版的 Fart, 目前只能在 andorid8 上使用该frida版fart是使用hook的方式实现的函数粒度的脱壳,仅仅是对类中的所有函数进行了加载,但依然可以解决绝大多数的抽取保护

GitHub地址:https://github.com/hanbinglengyue/FART 下载 frida_fart.zip 即可

  1. 解压 frida_fart.zip

  2. 将目录中的 fart.sofart64.so 推送到 /data/app目录下 并使用 chmod 777

  3. 需要以spawn方式启动app,等待app进入Activity界面后,执行fart()函数即可。如app包名为com.example.test,则

frida -U -f com.example.test -l frida_fart_hook.js --no-pause

Shell
_ 复制_

  1. 等待app进入主界面,执行fart()

高级用法:如果发现某个类中的函数的CodeItem没有dump下来,可以调用dump(classname),传入要处理的类名,完成对该类下的所有函数体的dump,dump下来的函数体会追加到bin文件当中。

于被动调用的脱壳修复,由于代码覆盖率低,不可能触发app中的所有函数的调用,因此,修复的范围有限。

感谢各位的阅读,以上就是“Frida脱壳工具怎么使用”的内容了,经过本文的学习后,相信大家对Frida脱壳工具怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前文章:Frida脱壳工具怎么使用
标题链接:http://hbruida.cn/article/ijocjh.html