首页
社区
课程
招聘
[原创]基于frida框架的脱壳工具frida-unpack的使用心得
发表于: 2020-5-16 12:41 7369

[原创]基于frida框架的脱壳工具frida-unpack的使用心得

2020-5-16 12:41
7369

第一次发帖,不周之处,还请原谅与指正。
众所周知,frida是一款用于hook的优秀工具,其实就是python下的一个包。由于frida本身只是一个注入方式,所以如果要对目标对象--移动设备进行注入操作,就一定要在对应的终端上安装相应的用于监听注入的服务器,也就是frida-server,当然,两方的版本也要保持一致。然后,对安卓hook来说,其对应着一款可以破壳的工具,即frida-unpack。
frida-unpack的详情-->https://github.com/dstmath/frida-unpack
利用它,能对一些app壳进行去除,达到取到源码的目的。

1、搭建frida环境。由于frida-unpack是基于frida的,所以前提必须具备frida环境。电脑端:安装frida包和工具,这里使用python3.7,装frida包和工具:pip install frida---pip install frida-tools-->装好后我的是对应frida版本是12.8.20,移动设备端:安装frida-server服务器,装frida-server要找到移动设备对应的架构下载,这里使用模拟器x86-android7下好后解压push到设备的/data/local/tmp下。
2、启动frida-server服务器,到/data/local/tmp下执行./frida-server启动服务器,注意如果出现warnning可以尝试更换安卓版本(否则可能会出现time out)
3、检查设备连接,执行adb devices可查看连接设备。
4、端口转发,执行adb forward tcp:27042 tcp:27042---adb forward tcp:27043 tcp:27043。
5、找到对应移动设备的OpenMemory的导出名称,可以通过将移动设备下/system/lib/libart.so pull到电脑,然后用IDA打开到Export那里查找,形如:_ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS10OatDexFileEPS9
6、找到app包名,可以通过反编译等方式找到。
7、执行frida-unpack脚本,如介绍所示,有js版本和python版本,这里使用python版本:


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 3
支持
分享
最新回复 (6)
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
2
有用,学习。
2020-5-16 14:45
0
雪    币: 1931
活跃值: (442)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请问为啥要转发两个端口, 27043是干吗的
2020-5-16 21:24
0
雪    币: 0
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
为什么会有下面的报错啊
dex 瀵煎嚭鐩綍涓? /data/data/com.babySisterTraceback (most recent call last):
  File "frida_unpack.py", line 20, in <module>
    print "dex 瀵煎嚭鐩綍涓? /data/data/%s"%(package)
IOError: [Errno 2] No such file or directory
2020-5-27 10:34
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
给力 啊
2020-5-28 10:31
0
雪    币: 494
活跃值: (252)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
秋日私语A 为什么会有下面的报错啊 dex 瀵煎嚭鐩綍涓? /data/data/com.babySisterTraceback (most recent call last): File " ...
先看看编码的问题,应该是utf8的, 然后“No such file or directory”应该是再说当前目录找不到你运行的文件,在文件所在目录打开命令行执行一下,看看还有没有报这个错
2020-6-9 14:09
0
雪    币: 267
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
学习了,自己去试一下
2020-6-9 17:02
0
游客
登录 | 注册 方可回帖
返回
//