国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS逆向教程之跟蹤函數調用詳解

2019-10-21 18:41:22
字體:
來源:轉載
供稿:網友

前言

今天學習的是跟蹤函數調用,什么意思呢,舉個例子,如果想做一個微信自動搶紅包的插件,就需要寫這么一個功能,當紅包來了的時候,自動觸發微信的搶紅包函數。好,那咱就先找到這個函數。

映射端口

$ sh usb.shForwarding local port 10001 to remote port 22Incoming connection to 10001

另起一終端登錄

$ sh login.sh

找到微信安裝路徑

ps -A|grep mobile 8636 ??   0:35.91 /var/mobile/Containers/Bundle/Application/EB02DC6D-EBE5-4BE8-92CE-B9ABE75B3C3E/WeChat.app/WeChat

順便查看一下微信的 Bundle Id,創建Tweak的時候會用到

通過 cycript 注入 微信

~ root# cycript -p WeChat

執行命令查看info 信息,查找 CFBundleIdentifier 獲取 Bundle Id

cy# [[NSBundle mainBundle] infoDictionary].toString()CFBundleIdentifier = "com.tencent.xin";

現在脫殼,(因為是從App Store上下載的)

 ~ root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/EB02DC6D-EBE5-4BE8-92CE-B9ABE75B3C3E/WeChat.app/WeChat

脫殼成功,退出登錄手機狀態

exit

將文件拷貝出來

 $ scp -P 10001 root@localhost:/var/root/WeChat.decrypted Wechat

查看是否脫殼成功

 $ otool -l Wechat | grep cryptid  cryptid 0

導出微信頭文件

$ class-dump -H Wechat -o WechatHeaders

然后來到微信有紅包的聊天界面,通過Reveal 查看當前界面的Controller 是BaseMsgContentViewController

然后找到剛剛導出的 BaseMsgContentViewController.h 文件打開,我去,有五百多個函數.怎么辦,怎么知道那個是咱要用的函數?

有一個辦法,那就是創建一個Tweak工程,Tweak.xm 文件修改成如下內容

%hook BaseMsgContentViewController- (void)touchesBegan_TableView:(id)arg1 withEvent:(id)arg2{ NSLog(@"%@",NSStringFromSelector(_cmd)); %orig;}...%end

上面三個點代表那五百多個函數。很恐怖吧。

重點來啦,logify.pl腳本,是安裝theos的時候自帶的,該腳本用來注入NSLog來打印方法的入參和出參。(就是在所有的方法里面加 log)

位置在

/theos/bin/logify.pl

這是替身,真實路徑在

/theos/vendor/logos/bin/logify.pl

在終端執行命令

$ logify.pl BaseMsgContentViewController.h > Tweak.xm

ps: 能夠執行logify.pl 命令是因為在 .bash_profile 文件中添加了

export THEOS=~/theosexport PATH=$THEOS/bin:$PATH$ 

查看剛剛生成Tweak.xm 文件

ios,函數調用,ios追蹤函數調用,函數跟蹤

注意紅框的位置

  • %log 是調 unix 的系統日志打印服務
  • %orig 是調用原始方法的代碼
  • HBLogDebug 是打印出返回值

這樣多方便,不需要一個個去寫了。用新生成的Tweak.xm 文件替換 Tweak工程生成的Tweak.xm文件

新建一個工程,在終端輸入

```

nic.pl

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵宝市| 邓州市| 周口市| 定陶县| 康定县| 黑山县| 手游| 项城市| 万全县| 常德市| 江津市| 华阴市| 深水埗区| 普兰店市| 石台县| 岱山县| 瑞金市| 湘潭市| 任丘市| 忻城县| 高安市| 当雄县| 黄梅县| 如东县| 襄垣县| 宕昌县| 蕲春县| 永登县| 万年县| 米易县| 金秀| 额济纳旗| 茌平县| 获嘉县| 马山县| 黄山市| 渝北区| 彰化县| 界首市| 江山市| 汤阴县|