大名鼎鼎的
MonkeyDev
就不多介绍了,给上链接:
项目地址:
https://github.com/AloneMonkey/MonkeyDev
中文wiki:
https://github.com/AloneMonkey/MonkeyDev/wiki/%E5%AE%89%E8%A3%85
MonkeyDev环境要求
使用工具前确保如下几点:
- 安装最新的theos
sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
安装完的路径为/opt/theos
- 安装ldid(如安装theos过程安装了ldid,跳过)
brew install ldid
此步骤需要确保已经安装了homebrew
如果没有安装homebrew
,可以按照如下方式安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果已安装,homebrew
在安装新软件时首先会自动进行更新:
看到Updating Homebrew...
不要着急,3-10分钟后会更新完成
ldid安装成功如下:
- 配置免密码登录越狱设备(如果没有越狱设备,跳过)
ssh-keygen -t rsa -P ''
ssh-copy-id -i /Users/username/.ssh/id_rsa root@ip
或者安装sshpass
自己设置密码:
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
MonkeyDev安装
你可以通过以下命令选择指定的Xcode进行安装:
sudo xcode-select -s /Applications/Xcode-beta.app
默认安装的Xcode为:
xcode-select -p
执行安装命令:
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
安装过程如下:
Last login: Tue Nov 27 08:54:39 on console
CodingIrans-MacBook-Pro:~ Iran$ sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
Password:
Downloading MonkeyDev base from Github...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3456k 0 3456k 0 0 38955 0 --:--:-- 0:01:30 --:--:-- 190k
Downloading Xcode templates from Github...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 286k 0 286k 0 0 166k 0 --:--:-- 0:00:01 --:--:-- 166k
Downloading frida-ios-dump from Github...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9669 100 9669 0 0 4154 0 0:00:02 0:00:02 --:--:-- 4155
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8930 100 8930 0 0 7703 0 0:00:01 0:00:01 --:--:-- 7698
Creating symlink to Xcode templates...
Modifying Bash personal initialization file...
CodingIrans-MacBook-Pro:~ Iran$
MonkeyDev卸载
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-uninstall)"
MonkeyDev更新
如果没有发布特殊说明,使用如下命令更新即可:
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-update)"
安装/更新之后重启下Xcode再新建项目
MonkeyDev的使用
创建项目
安装完成之后,打开Xcode
,点击File - New - Project...
,选择iOS
滑动到最下方可以看到MonkeyDev
提供的模块:
选择相应的项目类型,就可以创建对应的项目
非越狱App集成
选真机编译运行!
准备好砸壳的ipa或者app
第一步是准备好砸壳的ipa或者app,可以从某助手下载越狱应用(下载的也有没砸壳的QAQ)
这里用PP助手举例:
创建MonkeyApp项目
点击File - New - Project...
创建iOS
项目,选择MonkeyApp
然后填写
Product Name
,对于非越狱设备可以不用管Target App
,如果是越狱设备的话可以在Target App
填写目标App
的名字或者bundle id
,工具将会自动使用frida-ios-dump提取ipa文件(注意:要先按frida-ios-dump
repo
的README
配置好环境!),如下所示:另外
/opt/MonkeyDev/bin/dump.py
里面可以指定 ip
、port
以及password
创建完成之后,你会得到一个这样的工程:
这里我创建的项目名字就是
MonkeyApp
,所以下面对应的都是MonkeyApp
,你自己创建的由你的项目名字而定!
MonkeyAppDylib
这个是将被注入目标App
的动态库,你自己要hook
的代码可以在MonkeyAppDylib.m
文件里面写,我在里面写了一些Demo
代码,支持OC runtime
的HOOK
,C函数的fishhook
。还支持theos
logtweak
的写法! 直接写在MonkeyAppDylib.xm
文件文件即可。
Config
这个是cycript
的一些脚本下载以及methodtrace
配置代码。
LLDBTools
这个是用于LLDB
调试的代码,比如po pviews()
。
AntiAntiDebug
这个里面是反反调试的代码。
fishhook
这个是自动集成的fishhook
模块。
创建的项目已经自动集成了RevealServer.framework
和libcycript.dylib
,如果选择Release
编译的话是不会集成的。
拖入编译
将刚才下载的砸壳微信ipa包
拖入TargetApp
文件夹:
或者更方便的,直接将ipa拖入Xcode
下TargetApp
文件下:
非越狱设备Reveal
Run
完工程之后你可以配合Reveal进行视图查看:
如果Mac安装的Reveal
版本较新,可能会报如下错:
这是因为
MonkeyDev
没有集成最近的Reveal
包,需要手动替换,MonkeyDev
下的Reveal
包路径如下:/opt/MonkeyDev/Frameworks
需要注意:
RevealServer
的版本需要跟Mac上安装的Reveal.app
版本保持一致
然后编译运行,打开电脑的Reveal
,就可以看到界面了: