準(zhǔn)備工作
越獄手機(jī)
iPhone 軟件/插件:
cycript
OpenSSH
Mac 軟件:
iFoxBox
Theos
第一步:砸殼
- 執(zhí)行命令$
ssh root@你的手機(jī)IP - 查找你要砸殼的應(yīng)用位置 : root#
ps -e: 例如:/var/mobile/Containers/Bundle/Application/86CE59CF-4B2E-403A-987F-A3C241820946/WeChat.app/WeChat - 查找BundleIdentifier記下,后面寫Theos會(huì)用到:root#
cd /var/mobile/Containers/Bundle/Application/86CE59CF-4B2E-403A-987F-A3C241820946/WeChat.app/
root#cat Info.plist
搜索CFBundleIdentifier找到bundleidcom.tencent.xin - root#
cycript -p WeChat
5.cycript中尋找沙盒路徑:cy#[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
得到沙盒:/var/mobile/Containers/Data/Application/55AB4B6E-581B-4ECB-9441-13048437A132/Documents/ - 將砸殼工具dumpdecrypted.dylib拷貝到沙盒目錄下:$
scp Users/chenchaozhong/Desktop/iOS\ 逆向相關(guān)/iOSReverse/dumpdecrypted/dumpdecrypted.dylib root@你的手機(jī)IP:/var/mobile/Containers/Data/Application/55AB4B6E-581B-4ECB-9441-13048437A132/Documents/ - 到沙河下開(kāi)始砸殼:root#
cd /var/mobile/Containers/Data/Application/55AB4B6E-581B-4ECB-9441-13048437A132/Documents/
砸殼命令: root#DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/86CE59CF-4B2E-403A-987F-A3C241820946/WeChat.app/WeChat - 將砸完殼的文件拷貝到電腦 $
scp root@你的手機(jī)IP:/var/mobile/Containers/Data/Application/55AB4B6E-581B-4ECB-9441-13048437A132/Documents/WeChat.decrypted /Users/chenchaozhong/Desktop/weixin/decrypted/ - 的到應(yīng)用的頭文件: $
class-dump --arch armv7 -H /Users/chenchaozhong/Desktop/weixin/decrypted/WeChat.decrypted -o /Users/chenchaozhong/Desktop/weixin/header - 得到.m 的匯編: 將WeChat.decrypted拖到Hopper;
動(dòng)態(tài)調(diào)試
1.$/Users/chenchaozhong/Desktop/reverse/USBSSH/tcprelay.py -t 22:2222 1234:1234
2.$ssh root@localhost -p 2222
3.root#debugserver *:1234 -a "WeChat"
4.$process connect connect://localhost:1234
第二步:編寫Theos
-
$
/opt/theos/bin/nic.pl
填寫一些信息就創(chuàng)建完成了
7B4D406C-38B4-4B89-983F-BD57C4D68489.png Makefile文件

79D03C53-5C09-4984-96D6-43BC0EA504DF.png
-
Tweak.xm
我們?cè)赼ppdelegate里放一個(gè)alert 告訴我成功進(jìn)入微信;
6D972C68-221C-4AA1-9D33-498F625559A4.png
簡(jiǎn)單介紹tweak語(yǔ)法
tweak語(yǔ)法
- %log
要求:%hook 內(nèi)部使用,
作用:將函數(shù)名,參數(shù)寫入syslog- %orig
要求:%hook 內(nèi)部使用
作用:執(zhí)行原始代碼,還可以更改原始參數(shù)- %group
要求:必須以%end結(jié)尾,必須配合%init使用
作用:管理hook- %init
要求:%hook或%ctor內(nèi)調(diào)用
作用:初始化指定的group,如果不帶參數(shù),初始化_ungrouped- %ctor
隱式定義了
%ctor
{
%init(_ungrouped);
}- %new
要求:%hook內(nèi)部使用,
作用:給現(xiàn)有class添加新函數(shù),動(dòng)態(tài)- %c
要求:%hook內(nèi)部使用
作用:等同于objc_getClass或NSClassFromString
/*****************end**************************************/
第三步:安裝tweak
直接運(yùn)行, 編譯并安裝: $ make package install

