3.アプリケーションの復号化/スマッシングシェル

3.アプリケーションの復号化/スマッシングシェル

アプリケーションがAppStoreにアップロードされた後、Appleはアプリケーションを暗号化し、アプリケーションの実行時に動的に復号化します。このように、AppStoreからダウンロードしたアプリケーションを直接分析することはできません。したがって、アプリケーションを分析する前に、まずアプリケーションを復号化する必要があります。これは一般に、シェルのスマッシングとして知られています。その後、アプリケーションと復号化された実行可能ファイルをコンピューターにエクスポートできます

1.ダンプ復号化

失敗しました

2.クラッチ

2.1ダウンロードしてコンパイルする

プロジェクトgithub.com/KJCracks/Cl...をリポジトリからローカルにプルします

xcodeでプロジェクトを開きます。デバッグを使用してすべてのアーキテクチャをコンパイルし(アクティブなアーキテクチャのみをビルド-いいえ)、ターゲットを実行して実マシンを選択し、[コンパイル]をクリックします。

コンパイル後、モバイルデバイスで実行できるコマンドラインツールが生成され、内部スクリプトが実行可能ファイルをコピーして個別に署名し、buildフォルダーに配置します。

次に、を使用scpしてファイルをモバイルデバイスClutchのディレクトリにコピーします。/usr/bin

scp /Users/zsq/Downloads/Clutch-master/build/Clutch  [email protected]:/usr/bin/
复制代码

次に、モバイルデバイスにリモートでリンクし、Clutch実行可能権限を付与します。

chmod +x /usr/bin/Clutch
复制代码

2.2使用

コマンドリファレンス

Clutch [OPTIONS]
-b --binary-dump     Only dump binary files from specified bundleID
-d --dump            Dump specified bundleID into .ipa file
-i --print-installed Print installed application
--clean              Clean /var/tmp/clutch directory
--version            Display version and exit
-? --help            Display this help and exit
复制代码

インストールされているアプリとBundleIdを表示する

Clutch -i
复制代码

ターゲットアプリケーションを復号化します

Clutch -b target.bundle.id
复制代码
2022-03-11 11:45:00.325 Clutch[3690:399947] command: Only dump binary files from specified bundleID
Zipping xxx.app
Dumping <xxx> (arm64)
Patched cryptid (64bit segment)
Writing new checksum
2022-03-11 11:45:00.660 clutch[3692:399967] command: Only dump binary files from specified bundleID
2022-03-11 11:45:00.661 clutch[3693:399969] command: Only dump binary files from specified bundleID
2022-03-11 11:45:00.661 clutch[3695:399973] command: Only dump binary files from specified bundleID
2022-03-11 11:45:00.662 clutch[3696:399975] command: Only dump binary files from specified bundleID
2022-03-11 11:45:00.664 clutch[3698:399979] command: Only dump binary files from specified bundleID
2022-03-11 11:45:00.665 clutch[3694:399971] command: Only dump binary files from specified bundleID
2022-03-11 11:45:00.668 clutch[3697:399977] command: Only dump binary files from specified bundleID
Dumping <SwiftSocket> arm64
Successfully dumped framework SwiftSocket!
Dumping <Antlr4> arm64
2022-03-11 11:45:00.699 clutch[3699:399981] command: Only dump binary files from specified bundleID
Dumping <PDFReader> arm64
Dumping <SecurityDetector> arm64
Successfully dumped framework PDFReader!
Successfully dumped framework SecurityDetector!
Dumping <Charts> arm64
Dumping <DTIActivityIndicator> arm64
Successfully dumped framework DTIActivityIndicator!
Successfully dumped framework Antlr4!
Dumping <FilesProvider> arm64
Dumping <UXMPDFKit> arm64
Successfully dumped framework Charts!
Successfully dumped framework UXMPDFKit!
Successfully dumped framework FilesProvider!
Zipping FilesProvider.framework
Zipping SwiftSocket.framework
Zipping UXMPDFKit.framework
Zipping Charts.framework
Zipping SecurityDetector.framework
Zipping PDFReader.framework
Zipping DTIActivityIndicator.framework
Zipping Antlr4.framework
DONE: /private/var/mobile/Documents/Dumped/xxx.ipa
Finished dumping com.neo.elf in 1.8 seconds
复制代码

復号化が成功すると、復号化されたipaファイルのパスが出力されます。後で分析するためにMacにエクスポートできます。

3.frida-ios-dump

frida-ios-dump国内の大神が書いた貝殻破砕道具であり、使用をお勧めします。アドレス:github.com/AloneMonkey…

3.1fridaをインストールする

frida-ios-dump使用には助けが必要fridaです。fridaの公式ウェブサイトの fridaサポートが必要ですpython3システムはデフォルトpython2.7でインストールされますが、そのままにしておきます。homebrew以下にインストールしますpython3

python3をインストールします

brew探すpython

brew search python
复制代码

次に、インストールされているバージョンを選択します

brew install [email protected]
复制代码

python3python3.x使用しているバージョンを示しpython、システムのデフォルトpython2.7バージョンが使用されていることを示します。これには注意が必要です

pip3をインストールします

fridaインストールする最も便利な方法は、の助けを借りることですpippipこれはPythonパッケージ管理ツールであり、パッケージPythonの検索、ダウンロード、インストール、およびアンインストールの機能を提供します。次のコマンドを使用して、インストールされているかどうかを確認できます。

pip --version     # Python2.x 版本命令
pip3 --version    # Python3.x 版本命令
复制代码

まだインストールされていない場合は、次のコマンドでインストールできます。

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py   # 下载安装脚本
$ sudo python3 get-pip.py    # 运行安装脚本
复制代码

注:ここでpython3はインストールに使用され、後で使用されますpip3

fridaをインストールします

次の正式なインストールfrida

sudo pip3 install frida
sudo pip3 install frida-tools
复制代码

fridaをモバイルにインストールする

Cydiaにソースを追加https://build.frida.re/ます。次に、検索しfridaてインストールします。

SSHお使いの携帯電話を接続します

Macのターミナルで実行します。

frida-ps -U
复制代码

携帯電話システムによって現在実行されているプロセスが一覧表示されます。この時点でfrida、インストール作業は完了です。frida-ios-dump以下にインストールを入力します。

3.2frida-ios-dumpのインストール

frida-ios-dumpローカルにダウンロードしてから、次のコマンドを入力して実行し、必要な依存関係パッケージをインストールします。

sudo pip install -r requirements.txt --upgrade
复制代码

埋め込む

3.3frida-ios-dumpがシェルを壊す

上記のコマンドを実行した後、リストされているアプリケーションを選択frida-ps -Uし、シェルを粉砕します。frida-ios-dump次のフォルダで実行します。

python3 ./dump.py 应用名或bundleid
复制代码

シェルをスマッシュした後、アプリケーションはフォルダーに直接コピーされfrida-ios-dumpます。とても便利

おすすめ

転載: juejin.im/post/7078597944512872455