iOS 逆向:dumpdecrypted 砸殼記
概要
有些朋友就會問了, 既然 已經很牛B了, 為什麼還需要 這個工具呢?
剛開始的時候, 我也很排斥使用 這個工具的, 使用起來比較複雜, 並且套路不熟的情況下還很容易出錯.
之前說過 並不是萬能的, 從 App Store 下載的 App(比如 WeChat)有些並不能使用 來進行砸殼, 換句話說, 使用 工具來進行砸殼會失敗, 那麼, 就登場了.
本次砸殼的系統依然是 , 工具使用 , 砸殼的對象是 WeChat 這個 App.
準備工作
MacOS PC
越獄手機一台(我用的是iPhone6SPlus 10.3.1)
dumpdecrypted
class-dump
在 Cydia 中安裝 cycript, 可以先不用管 cycript 是什麼, 下載安裝即可.
iFunBox 或者其他助手工具
編譯 dumpdecrypted
去 Github 下載 源碼, 源碼就一個 C 源文件.
下載 zip 包之後, 解壓, 如圖:
在當前目錄, 執行 即可完成編譯, 如圖所示:
編譯成功後生成 文件.
這裡有個小插曲, 編譯 的時候報錯了, 錯誤信息如下:
無法找到對應的 和 文件, 這種問題大多數是 Xcode 路徑造成的.
使用下面的命令看一下系統指向的 Xcode 路徑:
控制台輸出:
顯然不是 Xcode 的路徑, 那隻能重新切換一下其路徑即指向正確的 路徑即可.
命令如下:
再次編譯 即可成功完成.
對 dumpecrypted.dylib 簽名
如果不對該文件進行簽名, 後續砸殼的操作會失敗.
先找到已經在電腦上面安裝的蘋果開發者證書, 操作如下:
為 dumpecrypted.dylib 簽名, 命令如下:
其中, 為你自己本機安裝的開發者證書名稱.
SSH 連接手機
使用 OpenSSH 讓 Mac 和手機連接起來 這樣可以很方便的在 Mac 終端使用 shell 命令來操作手機的目錄了.
關於 OpenSSH 的使用請參考我之前的博文iOS 逆向: 越獄使用 SSH.
查找目標 App 所在進程
雙擊 Home 按鍵後, 手動殺掉 iPhone 上面所有在後台的 App.
Home 到手機桌面.
打開目標 App 即WeChat, 這裡稱之為 TargetApp.
Home 到手機桌面.
查看當前運行的所有進程, 命令如下:
看到這個貨:
在如下目錄:
就是我們要找的 TargetApp.
連接 SSH 成功後, 在 MacOS 終端 一下該目錄, 可以發現 躺在那裡.
砸殼
1. 查找 Documents 目錄
為當前的進程目標執行文件名稱, 從上面的圖可以看出, 其對應的進程 id 是 .
在命令行中通過 cycript 執行如下操作:
再執行 OC 的方法, 如下:
可以看到對應的輸出, 如下圖所示, 這就是對應的 Documents 目錄.
注意: 執行過程中, 在 iPhone 上面打開運行一下 App, 不然上面的執行一直卡在那裡不動.
找到目錄如下:
同理, 你也可以使用 iFunBox 查看該目錄.
2. 拷貝 dumpdecrypted.dylib.
拷貝 這個之前編譯簽名好的文件到iPhone 上面該 APP 的 Documents 目錄有兩種方法.
第一種方法, 直接在 mac 上面拖拽 到 iFunBox 顯示的這個目錄中, 這種方法比較簡單且快.
第二種方法, 使用 命令進行操作.
是 iPhone 設備的 ip 地址.
3. 退出 cycript, 回到命令行模式
4. cd 到 Documents 目錄
5. 砸殼
終端在 Documents 目錄下面, 執行下面命令即可:
執行過程顯示如下:
最後生成了 文件, 如下:
使用 或者 命令將 文件導出到 mac 的任意目錄即可.
後續會跟大家分享如何使用砸殼後的文件, 敬請期待.


TAG:ITMan |