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

首頁(yè) > 系統(tǒng) > iOS > 正文

iOS逆向教程之跟蹤函數(shù)調(diào)用詳解

2020-07-26 02:29:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

今天學(xué)習(xí)的是跟蹤函數(shù)調(diào)用,什么意思呢,舉個(gè)例子,如果想做一個(gè)微信自動(dòng)搶紅包的插件,就需要寫(xiě)這么一個(gè)功能,當(dāng)紅包來(lái)了的時(shí)候,自動(dòng)觸發(fā)微信的搶紅包函數(shù)。好,那咱就先找到這個(gè)函數(shù)。

映射端口

$ 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,創(chuàng)建Tweak的時(shí)候會(huì)用到

通過(guò) cycript 注入 微信

~ root# cycript -p WeChat

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

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

現(xiàn)在脫殼,(因?yàn)槭菑腁pp Store上下載的)

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

脫殼成功,退出登錄手機(jī)狀態(tài)

exit

將文件拷貝出來(lái)

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

查看是否脫殼成功

 $ otool -l Wechat | grep cryptid  cryptid 0

導(dǎo)出微信頭文件

$ class-dump -H Wechat -o WechatHeaders

然后來(lái)到微信有紅包的聊天界面,通過(guò)Reveal 查看當(dāng)前界面的Controller 是BaseMsgContentViewController

然后找到剛剛導(dǎo)出的 BaseMsgContentViewController.h 文件打開(kāi),我去,有五百多個(gè)函數(shù).怎么辦,怎么知道那個(gè)是咱要用的函數(shù)?

有一個(gè)辦法,那就是創(chuàng)建一個(gè)Tweak工程,Tweak.xm 文件修改成如下內(nèi)容

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

上面三個(gè)點(diǎn)代表那五百多個(gè)函數(shù)。很恐怖吧。

重點(diǎn)來(lái)啦,logify.pl腳本,是安裝theos的時(shí)候自帶的,該腳本用來(lái)注入NSLog來(lái)打印方法的入?yún)⒑统鰠ⅰ?就是在所有的方法里面加 log)

位置在

/theos/bin/logify.pl

這是替身,真實(shí)路徑在

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

在終端執(zhí)行命令

$ logify.pl BaseMsgContentViewController.h > Tweak.xm

ps: 能夠執(zhí)行l(wèi)ogify.pl 命令是因?yàn)樵?.bash_profile 文件中添加了

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

查看剛剛生成Tweak.xm 文件

注意紅框的位置

  • %log 是調(diào) unix 的系統(tǒng)日志打印服務(wù)
  • %orig 是調(diào)用原始方法的代碼
  • HBLogDebug 是打印出返回值

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

新建一個(gè)工程,在終端輸入

```

nic.pl

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 方山县| 舒兰市| 伊川县| 淮阳县| 喀喇沁旗| 高青县| 搜索| 四会市| 定州市| 阿拉善盟| 阿巴嘎旗| 蒙阴县| 赤峰市| 望奎县| 砚山县| 高陵县| 昔阳县| 樟树市| 宜昌市| 井研县| 环江| 元江| 厦门市| 辉县市| 营山县| 凤城市| 大埔区| 宁远县| 依安县| 松潘县| 绿春县| 滁州市| 喀喇| 新巴尔虎右旗| 平乐县| 聊城市| 定西市| 奉节县| 方山县| 吉安市| 都安|