FART脱壳机制作

几乎所有在APP应用平台的软件,都有壳,若想进一步逆向,查看APP的代码、加解密函数、或者逆向协议,第一步都是要脱壳,脱壳的重要性不言而喻。

FBI Warnning

感谢寒冰、r0ysue大佬,大佬们的gayhub和个人主页在片尾。
原材料

  • 谷歌亲儿子手机一部,pixel或者nexus任何版本都阔以,系统Android8.10
  • 寒冰巨佬的fart文章,深入理解脱壳原理
  • r0ysue姐编译好的fart rom镜像,请放心食用。

过程

首先根据手机下载对应的rom包。
链接:https://pan.baidu.com/s/1zAYliYbkagdUUsykww_L4g 提取码:vv5u
在这里插入图片描述
在这里插入图片描述
这是手机型号。
在这里插入图片描述

下载解压后,会发现里边还有一个image-marlin-opm1.xxxxx.zip的文件,直接解压到这里,会多出来system.img、vendor.img等文件。

这时候,将手机使用USB连入电脑,并开启USB调试,进入fastboot模式,pixel是按照音量向下键和电源键进入的。

你还需要adb,fastboot命令,下载链接:
链接: https://pan.baidu.com/s/1AIJ2qzl-MZUkN9jOoxjOKQ 密码: inag

在这里插入图片描述

将AdbWinApi.dll和下面的dll放到C:/Windows/System

将adb.exe和fastboot.exe放到C:/Windows/System32
然后点击flash-all.bat即可。
在这里插入图片描述

这里的FAILED,不用太在意,我一开始也是迷茫了好一会,但是看到手机已经重新刷入了新ROM,就知道完工了。
在这里插入图片描述

验证脱壳

adb logcat | grep "fart"监控fart脱壳日志。

如何脱壳呢?很简单,将要脱壳的应用安装,然后赋予读写权限,然后启动就完事了,后台就能够看到fart脱壳日志开始整活了,它是自动脱壳。

进入/sdcard/fart,可见脱壳的文件。
在这里插入图片描述
在这里插入图片描述

然后可以看到有bin、txt、dex三种文件。

  • 带excute关键字的dex文件是在excute脱壳点脱下来的dex文件,我们可以直接在jadx里面打开这个dex。关于该脱壳点的更多信息可以看《拨云见日:安卓APP脱壳的本质以及如何快速发现ART下的脱壳点》。
  • 带excute关键字的classlist_execute.txt文件,该文件是dex中所有类的类列表,类名是签名形式的以L开头,表示它是一个类,$后面是类中的方法。
  • 在修复文件的选择上,首先其实只需要看有bin函数体文件的,没有bin文件的dex是处于不同Classloader中的dex,那些是些系统库或者壳本身,不是我们关心的对象。(修复脚本地址:https://github.com/hanbinglengyue/FART)
python fart.py -d xxx.dex -i xxx.bin >> repired.txt

总结一下,并不是所有dex都需要修复的,有bin的才能修复,当你dump出来的方法体是空的时候,并且有bin文件,然后才要去修复,大部分不需要修复,直接在dex就有了。
点到为止,壳已经脱完了,制作FART脱壳机,第一步搞定。

Refer:

r0ysue姐的github:https://github.com/r0ysue/AndroidSecurityStudy

寒冰大佬:https://bbs.pediy.com/user-home-632473.htm

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值