这篇文章主要讲解了“Frida脱壳工具怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Frida脱壳工具怎么使用”吧!
现在很多 app
都会对 Frida
进行检测,所以要根据app的情况来具体使用
壳的种类非常多,可以简单的分为以下三类:
一代整体型:采用Dex整体加密,动态加载运行的机制(免费类的壳);
二代函数抽取型:将方法单独抽取出来,加密保存,解密执行(某加密);
三代VMP、Dex2C:独立虚拟机解释执行。
firda-unpack 原理是利用frida hook libart.so中的OpenMemory方法,拿到内存中dex的地址,计算出dex文件的大小,从内存中将dex导出,我们可以查看项目中的 OpenMemory.js 文件中的代码更清晰直观地了解。
将 dex
文件并 dump
下来,保存在 data/data/packageName
目录下
葫芦娃所写,脱壳后的dex文件保存在PC端main.py同一目录下,以包名为文件名
GitHub地址:https://github.com/hluwa/FRIDA-DEXDump<br>
文件头搜索dex,来脱壳
会搜索 dex
文件并 dump
下来,保存在 data/data/packageName/files
目录下
寒冰写的, Frida 版的 Fart, 目前只能在 andorid8 上使用该frida版fart是使用hook的方式实现的函数粒度的脱壳,仅仅是对类中的所有函数进行了加载,但依然可以解决绝大多数的抽取保护
GitHub地址:https://github.com/hanbinglengyue/FART 下载 frida_fart.zip
即可
解压 frida_fart.zip
将目录中的 fart.so
与 fart64.so
推送到 /data/app目录下
并使用 chmod 777
需要以spawn方式启动app,等待app进入Activity界面后,执行fart()函数即可。如app包名为com.example.test,则
frida -U -f com.example.test -l frida_fart_hook.js --no-pause
Shell<br>_ 复制_
等待app进入主界面,执行fart()
高级用法:如果发现某个类中的函数的CodeItem没有dump下来,可以调用dump(classname),传入要处理的类名,完成对该类下的所有函数体的dump,dump下来的函数体会追加到bin文件当中。
于被动调用的脱壳修复,由于代码覆盖率低,不可能触发app中的所有函数的调用,因此,修复的范围有限。
感谢各位的阅读,以上就是“Frida脱壳工具怎么使用”的内容了,经过本文的学习后,相信大家对Frida脱壳工具怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。