iOS逆向開發(fā)-微信應(yīng)用脫殼

前言:

為了偉大的裝X,最近一直在研究iOS逆向工程,逆向工程可以做到很多事情也可以讓你更好的了解iOS底層實現(xiàn)原理,玩別家的應(yīng)用,么事做個自動搶紅包?或者是為自己的應(yīng)用進行相應(yīng)的加固。所以脫殼/砸殼都是在iOS逆向開發(fā)中的必要工作,因為從AppStore直接下載安裝的App是加殼的通俗的說就是加密的,我們無法做后續(xù)的各種分析工作,所以先要脫殼進行解密下面我會以微信應(yīng)用為例子做一個脫殼處理,我會慢慢跟著我的學(xué)習(xí)線路更新博客和大家一起學(xué)習(xí),廢話就不多說了,兄弟們請往下看

應(yīng)用脫殼所需要工具:

工具 下載地址 平臺
Openssh Cydia 移動端
dumpdecrypted 下載地址 Mac
class-dump 下載地址 Mac端
Cycript Cydia 移動端

Openssh安裝及使用

  • 越獄移動端Cydia應(yīng)用中搜索Openssh安裝即可

dumpdecrypted安裝及使用

  • cd到dumpdecrypted目錄下
  • 運行make命令生成“dumpdecrypted.dylib”

class-dump安裝及使用

  • 前往usr/bin
  • 將class-dump 拖到/usr/bin
需要注意:
問題1:class-dump無法拖入/usr/bin目錄

原因:Mac當(dāng)前系統(tǒng)為Mac OS X 10.11 El Capitan,對于Mac OS X 10.11 El Capitan用戶,由于系統(tǒng)啟用了SIP(System Integrity Protection), 導(dǎo)致root用戶也沒有權(quán)限修改/usr/bin目錄。
解決辦法:重啟Mac,按住command+R,進入recovery模式。選擇打開Utilities下的終端,輸入:csrutil disable并回車,然后正常重啟Mac即可。

問題2:使用class-dump權(quán)限問題

解決辦法:sudo chmod 777

開始破殼

  • ssh登錄移動端

    ssh root@XX.XX.XX.XX    //默認(rèn)密碼:alpine
    
ssh登錄移動端.png
  • 查看進程

    ps -e
    
查看進程.png
  • 獲取應(yīng)用進程


    WeCht進程ID.png
  • 注入應(yīng)用進程

     cycript -p XXX     //XXX:進程ID 1490
    
注入WeCht進程.png
  • 獲取應(yīng)用沙盒路徑

    [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
    
獲取沙盒路徑.png
  • 退出ssh登錄

     logout    //退出ssh登錄
    
退出ssh登錄.png

注意:退出ssh登錄之前需要先退出cycript模式 退出方法:control+d

  • 上傳dumpdecrypted.dylib到目標(biāo)程序沙盒

     scp XXX/dumpdecrypted.dylib root@10.10.242.107:XXX  //sap  dumpdecrypted.dylib路徑 root@10.10.242.107:目標(biāo)應(yīng)用沙盒路徑
    
上傳dumpdecrypted.png
  • 上傳成功ssh登錄移動端cd到沙盒目錄進行脫殼

    su mobile  //防止報錯 killed:9
    DYLD_INSERT_LIBRARIES=XXX    //目標(biāo)應(yīng)用進程路徑
    
應(yīng)用脫殼.png

脫殼后的包.png
  • 把脫殼后的包導(dǎo)出到Mac端

     scp ssh root@172.20.10.4:XXX XXX    // XXX:WeChat.decrypted路徑 XXX:目標(biāo)路徑
    
導(dǎo)出脫殼包.png
  • cd到WeChat.decrypted路徑導(dǎo)出.h文件
    class-dump -S -s -H WeChat.decrypted -o ./Headers
頭文件.png

總結(jié)

  • 獲取進程前移動端先打開應(yīng)用,最好是殺死所有進程只保留目標(biāo)應(yīng)用
  • 獲取到進程ID,進程路徑,沙盒路徑 記起來方便使用
  • ssh登錄首先是和Mac端使用同一網(wǎng)絡(luò)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容