大名鼎鼎的
MonkeyDev
就不多介紹了鱼冀,給上鏈接:
項(xiàng)目地址:
https://github.com/AloneMonkey/MonkeyDev
中文wiki:
https://github.com/AloneMonkey/MonkeyDev/wiki/%E5%AE%89%E8%A3%85
MonkeyDev環(huán)境要求
使用工具前確保如下幾點(diǎn):
- 安裝最新的theos
sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
安裝完的路徑為/opt/theos
- 安裝ldid(如安裝theos過(guò)程安裝了ldid在塔,跳過(guò))
brew install ldid
此步驟需要確保已經(jīng)安裝了homebrew
如果沒(méi)有安裝homebrew
,可以按照如下方式安裝:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果已安裝蒸痹,homebrew
在安裝新軟件時(shí)首先會(huì)自動(dòng)進(jìn)行更新:
看到Updating Homebrew...
不要著急,3-10分鐘后會(huì)更新完成
ldid安裝成功如下:
- 配置免密碼登錄越獄設(shè)備(如果沒(méi)有越獄設(shè)備,跳過(guò))
ssh-keygen -t rsa -P ''
ssh-copy-id -i /Users/username/.ssh/id_rsa root@ip
或者安裝sshpass
自己設(shè)置密碼:
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
MonkeyDev安裝
你可以通過(guò)以下命令選擇指定的Xcode進(jìn)行安裝:
sudo xcode-select -s /Applications/Xcode-beta.app
默認(rèn)安裝的Xcode為:
xcode-select -p
執(zhí)行安裝命令:
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
安裝過(guò)程如下:
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更新
如果沒(méi)有發(fā)布特殊說(shuō)明蛔糯,使用如下命令更新即可:
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-update)"
安裝/更新之后重啟下Xcode再新建項(xiàng)目
MonkeyDev的使用
創(chuàng)建項(xiàng)目
安裝完成之后,打開(kāi)Xcode
窖式,點(diǎn)擊File - New - Project...
蚁飒,選擇iOS
滑動(dòng)到最下方可以看到MonkeyDev
提供的模塊:
選擇相應(yīng)的項(xiàng)目類(lèi)型,就可以創(chuàng)建對(duì)應(yīng)的項(xiàng)目
非越獄App集成
選真機(jī)編譯運(yùn)行萝喘!
準(zhǔn)備好砸殼的ipa或者app
第一步是準(zhǔn)備好砸殼的ipa或者app飒箭,可以從某助手下載越獄應(yīng)用(下載的也有沒(méi)砸殼的QAQ)
這里用PP助手舉例:
創(chuàng)建MonkeyApp項(xiàng)目
點(diǎn)擊File - New - Project...
創(chuàng)建iOS
項(xiàng)目狼电,選擇MonkeyApp
然后填寫(xiě)
Product Name
,對(duì)于非越獄設(shè)備可以不用管Target App
弦蹂,如果是越獄設(shè)備的話可以在Target App
填寫(xiě)目標(biāo)App
的名字或者bundle id
肩碟,工具將會(huì)自動(dòng)使用frida-ios-dump提取ipa文件(注意:要先按frida-ios-dump
repo
的README
配置好環(huán)境!)凸椿,如下所示:另外
/opt/MonkeyDev/bin/dump.py
里面可以指定 ip
削祈、port
以及password
創(chuàng)建完成之后,你會(huì)得到一個(gè)這樣的工程:
這里我創(chuàng)建的項(xiàng)目名字就是
MonkeyApp
脑漫,所以下面對(duì)應(yīng)的都是MonkeyApp
髓抑,你自己創(chuàng)建的由你的項(xiàng)目名字而定!
MonkeyAppDylib
這個(gè)是將被注入目標(biāo)App
的動(dòng)態(tài)庫(kù),你自己要hook
的代碼可以在MonkeyAppDylib.m
文件里面寫(xiě)优幸,我在里面寫(xiě)了一些Demo
代碼吨拍,支持OC runtime
的HOOK
,C函數(shù)的fishhook
网杆。還支持theos
logtweak
的寫(xiě)法羹饰! 直接寫(xiě)在MonkeyAppDylib.xm
文件文件即可。
Config
這個(gè)是cycript
的一些腳本下載以及methodtrace
配置代碼碳却。
LLDBTools
這個(gè)是用于LLDB
調(diào)試的代碼队秩,比如po pviews()
。
AntiAntiDebug
這個(gè)里面是反反調(diào)試的代碼昼浦。
fishhook
這個(gè)是自動(dòng)集成的fishhook
模塊馍资。
創(chuàng)建的項(xiàng)目已經(jīng)自動(dòng)集成了RevealServer.framework
和libcycript.dylib
,如果選擇Release
編譯的話是不會(huì)集成的关噪。
拖入編譯
將剛才下載的砸殼微信ipa包
拖入TargetApp
文件夾:
或者更方便的鸟蟹,直接將ipa拖入Xcode
下TargetApp
文件下:
非越獄設(shè)備Reveal
Run
完工程之后你可以配合Reveal進(jìn)行視圖查看:
如果Mac安裝的Reveal
版本較新,可能會(huì)報(bào)如下錯(cuò):
這是因?yàn)?code>MonkeyDev沒(méi)有集成最近的
Reveal
包使兔,需要手動(dòng)替換戏锹,MonkeyDev
下的Reveal
包路徑如下:/opt/MonkeyDev/Frameworks
需要注意:
RevealServer
的版本需要跟Mac上安裝的Reveal.app
版本保持一致
然后編譯運(yùn)行,打開(kāi)電腦的Reveal
火诸,就可以看到界面了: