简介
Fria是一款基于Python + JavaScript 的Hook与调试框架,在Android\Linux\Windows等平台均能使用。以Mac平台为例,来对
android应用程序进行hook.Frida官网
安装Frida
通过pip安装
1
pip install frida
去下载对应平台的egg安装包进行安装
下载地址
当前版本12.0.7。下载对应平台和python版本的安装包,如Mac python3.6对应frida-12.0.7-py3.6-macosx-10.6-intel.egg
注:由于网络原因,方法1安装时间太久,这里推荐第二种方法。
安装完成后在命令窗口执行命令1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30frida-ps
PID Name
----- --------------------------------------------
564 AirPlayUIAgent
17427 Android Studio
909 App
1516 Code
67732 CoreServicesUIAgent
602 Dr. Cleaner
60553 Firefox
61307 FirefoxCP Web Content
60566 FirefoxCP Web Content
68927 Google Chrome
62086 Keychain Circle Notification
712 LaterAgent
581 QQMacMgrMonitor
618 Shadowsocks
69241 Siri
69270 SiriNCService
1879 Sublime Text
346 SystemUIServer
577 TISwitcher
501 Wi-Fi
451 com.apple.PressAndHold
393 com.apple.dock.extra
385 iTunes Helper
409 imklaunchagent
117 loginwindow
568 nbagent
Android下Frida环境的搭建
真机:小米3- 已获取root 权限
genomotion模拟器7.1版本
- 下载frida-server
找到对应平台对应版本的包下载,如frida-server-12.0.7-android-arm64.xz frida-server-12.0.7-android-arm.xz frida-server-12.0.7-android-x86_64.xz
小米3,选择frida-server-12.0.7-android-arm64.xz
解压包
1
xz -d frida-server-12.0.7-android-arm64.xz
文件上传到手机中,并赋予执行权限
1
2
3
4
5
6adb push frida-server-12.0.7-android-arm64 /data/local/tmp/frida-server
adb shell
cd /data/local/tmp
chmod 755 frida-server
./frida-server查看frida-server是否启动成功
1
frida-ps -U #-U表示USB,允许Frida检查USB设备
下载基于Frida的脱壳工具
脚本使用方法:
- 在手机上启动Frida server端
执行脱壳脚本
1
./inject.sh 脱壳的应用包名 OpenMemory.js
脱壳后的dex保存在/data/data/应用包名/目录下
另,python脚本支持1
python3 frida_unpack.py 应用包名
- 查看/data/data/应用包名/目录下的dex文件
1 | 使用dex-tools |