首先介紹下這倆個工具的做用:
架構
dumpdecrypted.dylib: 自己是一個動態庫, 經過它給App的可執行文件砸殼.
app
class-dump: 給砸殼後的可執行文件導出頭文件.
ssh
下面介紹下使用流程, 咱們以騰訊視頻爲例子:iphone
0. 默認在蘋果商店下載的app是加密了的, 可使用 otool -l 可執行文件路徑 | grep cryptid 查看, 若是是1表明是加密的, 若是是0則是沒有加密.工具
1. 經過OpenSSH鏈接到手機, 輸入密碼默認是alpine ssh root@192.168.1.101加密
2. 把用不到的App退出, 打開騰訊視頻, 而後在終端執行 ps -e 查看當前手機進程, 而後找到騰訊視頻的進程, 進入到騰訊視頻的進程並記錄當前的文件目錄(其實就是可執行文件的目錄)3d
/var/mobile/Containers/Bundle/Application/21399F3D-94F9-4253-9C43-F71744AA515A/live4iphone.app/live4iphone
cdn
執行命令後看到以下標誌就證實進入成功視頻
3. 執行 NSHomeDirectory() 獲取當前的Documents文件目錄, 並把咱們的砸殼工具放入這個目錄下 (/var/mobile/Containers/Data/Application/719D0845-A8BB-4ADD-AF30-598272A4D3D7/Documents/) blog
看到以下截圖就成功了:
4. cd到咱們的Documents文件下執行咱們的砸殼操做命令 DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/21399F3D-94F9-4253-9C43-F71744AA515A/live4iphone.app/live4iphone
下面就是成功的截圖, 這時去可執行文件目錄下看看, 你就發現會多一個 live4iphone.decrypted 的文件 , 這個就是咱們砸殼後的文件
5. 把砸殼獲得的文件保存到電腦桌面上
scp root@192.168.1.101:/var/mobile/Containers/Data/Application/719D0845-A8BB-4ADD-AF30-598272A4D3D7/Documents/live4iphone.decrypted ~/Desktop/live4iphone.decrypted
而後就等着吧, 這裏若是網速很差也可使用PP助手直接拉到桌面上也能夠.
這樣就成功了:
6. 而後就可使用class-dump進行導出操做了
class-dump --arch arm64 破解的文件路徑 -H -o 要存放的目錄路徑 (加 arm64的目的是指定dump的目標可執行文件的架構, 由於砸殼不是把可執行文件的全部架構都進行砸殼, 而是對其中手機當前架構的可執行文件進行砸殼)
執行後就發現多了不少.h文件, 這說明咱們成功了.
錯誤解析:
上圖錯誤通常就是cd到的路徑不對, 正常應該cd到 Documents文件下.
上圖錯誤通常是dumpdecrypted.dylib 簽名問題, 須要從新簽名便可.
好了到這裏就結束了, 其實沒什麼難度的, 只是網上的資料比較零散, 因此找起來耗費時間, 這裏我都寫在一塊兒了, 之後用到的時候看一下就能夠了.