iOS-シェルappを破壊し、ヘッダファイルをエクスポート

1985 ワード

AppStoreがダウンロードしたプログラムはすべてシェルされ、この時プログラムのヘッダファイルを手に入れて分析するにはシェルを壊してclassdumpでヘッダファイルをエクスポートする必要があります.ここでは、微信を例に挙げます.
  • 1.まず、微信ファイルの位置を特定します.微信プロセスのファイルにナビゲートする方法はたくさんあります.ここではpsコマンドで検索します(もちろんあなたの携帯電話にはpsツールをインストールしなければなりません).
    Kaitode-iPhone:~ root# ps -e | grep WeChat
     3742 ??         0:11.24 /var/containers/Bundle/Application/5C6E85D3-691F-4C75-A563-4EB426FB60B0/WeChat.app/WeChat
     4113 ttys000    0:00.01 grep WeChat
    
  • 2.dumpdecryptedを使用してシェルを破壊WeChat
  • dumpdecrypted Macでgit cloneを使用できますhttps://github.com/stefanesser/dumpdecrypted.gitコマンドを直接ダウンロードするとmakeはdumpdecrypted.dylibファイルを生成します.
  • dumpdecryptedファイルを携帯電話にコピーします.
    Kaito:dumpdecrypted Kaito$ scp dumpdecrypted.dylib [email protected]:/tmp
    
  • WeChatサンドボックスパスを取得します.ここではCycriptツールを使って、まずCydiaでCycriptを検索してインストールします.
    Kaitode-iPhone:/tmp root# cycript -p WeChat
    cy# dir = NSHomeDirectory()
    @"/var/mobile/Containers/Data/Application/7BCD8E9F-0783-4668-85C5-243DFCFF6998"
    cy# 
    
  • 砂箱Documentsフォルダに入ります.
    Kaitode-iPhone:/tmp root# cd /var/mobile/Containers/Data/Application/7BCD8E9F-0783-4668-85C5-243DFCFF6998/Documents
    
  • dumpdecrypted.dylibをDocumentsフォルダの下にコピーします.
    cp /tmp/dumpdecrypted.dylib .
    
  • シェルを破壊(ios 9.3.2以降su mobileコマンドを先に実行しないとエラー:kill 9)
    DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/5C6E85D3-691F-4C75-A563-4EB426FB60B0/WeChat.app/WeChat
    
  • 4シェルを壊したWeChat.decryptedをMacにコピー
    scp  WeChat.decrypted [email protected]:/tmp
    
  • 5エクスポートヘッダファイルここではclassdumpツールを使用してMach-OファイルのObjective-C実行時の宣言の情報、すなわちOCコード作成時の.hファイルをエクスポートできます.インストールと詳細は公式サイトでご覧いただけますhttp://stevenygard.com/projects/class-dump/
    class-dump -s -S -H WeChat.decrypted -o WCHeaders
    

  • これでWCHadersファイルの下にエクスポートされたマイクロヘッダファイルがあります.