亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2018年04月04日 08:46:43   作者:狼喜歡夏天  
這篇文章主要給大家介紹了關于iOS逆向教程之跟蹤函數調用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

前言

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

映射端口

$ sh usb.sh
Forwarding local port 10001 to remote port 22
Incoming 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的時候會用到

通過 cycript 注入 微信

~ root# cycript -p WeChat

執(zhí)行命令查看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

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

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 文件打開,我去,有五百多個函數.怎么辦,怎么知道那個是咱要用的函數?

有一個辦法,那就是創(chuàng)建一個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

在終端執(zhí)行命令

$ logify.pl BaseMsgContentViewController.h > Tweak.xm

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

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

查看剛剛生成Tweak.xm 文件

注意紅框的位置

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

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

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

```

nic.pl

總結

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

相關文章

  • IOS 貝塞爾曲線(UIBezierPath)屬性、方法整理

    IOS 貝塞爾曲線(UIBezierPath)屬性、方法整理

    這篇文章主要介紹了IOS 貝塞爾曲線(UIBezierPath)屬性、方法的相關資料,這里整理了貝塞爾 曲線的基礎資料,對屬性及相應的方法一一做了詳解,需要的朋友可以參考下
    2016-11-11
  • iOS開發(fā)之適配iOS10以及Xcode8

    iOS開發(fā)之適配iOS10以及Xcode8

    這篇文章主要為大家詳細介紹了iOS開發(fā)之適配iOS10以及Xcode8的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • ios中圖像進行壓縮方法匯總

    ios中圖像進行壓縮方法匯總

    在Iphone上有兩種讀取圖片數據的簡單方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. UIImageJPEGRepresentation函數需要兩個參數:圖片的引用和壓縮系數.而UIImagePNGRepresentation只需要圖片引用作為參數.
    2015-05-05
  • IOS開發(fā)自定義Button的外觀和交互行為示例詳解

    IOS開發(fā)自定義Button的外觀和交互行為示例詳解

    這篇文章主要為大家介紹了IOS開發(fā)自定義Button的外觀和交互行為示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • IOS 照片操作(獲取信息及修改照片)詳解

    IOS 照片操作(獲取信息及修改照片)詳解

    這篇文章主要介紹了IOS 照片操作及獲取拍照信息和修改信息的相關資料,這里主要介紹,獲取系統(tǒng)照片信息,及地理位置和時間的修改,需要的朋友可以參考下
    2016-11-11
  • iOS 動畫實戰(zhàn)之釣魚小游戲實例代碼

    iOS 動畫實戰(zhàn)之釣魚小游戲實例代碼

    最近小編做了一個釣魚小游戲,平時沒有做過,所以上手有點急躁,不過,最終還是實現了,下面小編給大家分享iOS 動畫實戰(zhàn)之釣魚小游戲的實現思路,感興趣的朋友一起看看吧
    2018-02-02
  • Swift Self詳解及簡單實例代碼

    Swift Self詳解及簡單實例代碼

    這篇文章主要介紹了Swift Self詳解及簡單實例代碼的相關資料,這里對self 進行了詳細介紹并附實例代碼,需要的朋友可以參考下
    2016-12-12
  • iOS開發(fā)探索多線程GCD隊列示例詳解

    iOS開發(fā)探索多線程GCD隊列示例詳解

    這篇文章主要為大家介紹了iOS開發(fā)探索多線程GCD隊列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 使用Xcode為iOS應用項目創(chuàng)建PCH文件的方法及應用示例

    使用Xcode為iOS應用項目創(chuàng)建PCH文件的方法及應用示例

    這篇文章主要介紹了使用Xcode為iOS應用項目創(chuàng)建PCH文件的方法及應用示例,PCH文件可以保留應用的很多的基礎設置信息以供復用,需要的朋友可以參考下
    2016-03-03
  • iOS指紋登錄(TouchID)集成方案詳解

    iOS指紋登錄(TouchID)集成方案詳解

    這篇文章主要為大家詳細介紹了iOS指紋登錄TouchID的集成方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評論