Android-Disassembler
CodeFactor

スマートフォンで悪意のあるアプリを解析
メンテナンス状況
メンテナンスは再開されましたが、プロジェクトはまだ復旧と近代化の段階にあります。
- ベースラインでは、ビルド前にサブモジュールが初期化されていることが前提となります。
- デフォルトの開く/インポート/エクスポートフローは、最新のAndroidではSAFファーストの契約を使用します。
高度なインポートは、root、生ファイルシステム、インストール済みアプリのブラウジングのための別のパワーユーザー向けパスです。
QUERY_ALL_PACKAGESは、デフォルトのSAFフローではなく、パワーユーザー向けのインストール済みアプリソースのために保持されています。
- 問題のトリアージとメンテナンスドキュメントは
docs/maintenance/ にあります。
ストレージモデル
ファイルを選択 はAndroidのSAFドキュメントピッカーを使用します。
プロジェクトをエクスポート と 詳細をファイルに保存 はSAFドキュメント作成フローを使用します。
高度なインポート はオプトインであり、生ファイルシステム、root、またはインストール済みアプリのエントリポイントが必要なパワーユーザーを対象としています。
- インストール済みアプリのブラウジングはパワーユーザー機能として扱われるため、パッケージの可視性はデフォルトのSAFフローから分離されています。
プレビュービルド
- すべてのCI実行で、デバッグAPKアーティファクトがGitHub Actionsにアップロードされます。
- 別のプレビューワークフローでは、正式リリース前に最新のブランチビルドを試したい方向けに、デバッグ署名済みAPKを含むローリング
Preview latest プレリリースを公開できます。
- 正式リリースアーティファクトは通常のGitHub Releasesフローに残ります。
Android Disassemblerは、APKファイル、dexファイル、共有ライブラリ(別名.soファイル)(NDK、JNI)、Windows PEファイル(EXE、DLL、SYSなど)、Linux実行可能ファイル、オブジェクトファイルなど、複数の種類のファイルを解析できるアプリケーションです。これらのアプリ機能は、capstoneライブラリ、elf パーサー、PEパーサー、backsmali、およびfacile reflectorに基づいています。

バージョン 2.1.5 リリース!
新機能:いくつかの軽微なバグ(クラッシュ)を修正
機能
- ELFファイルの詳細を表示
- ELFファイルのシンボルテーブル(関数やオブジェクトの名前など)を表示
- コードセクションを逆アセンブル
- 逆アセンブリのさまざまなエクスポートオプション(再読み込み可能な生ファイル、コンパイル可能なテキストファイル、分析用テキストファイル、json、再読み込み可能なデータベース)
- プロジェクトをサポート
- ファイルブラウザから直接起動をサポート
- 多くのABI(arm、x86、x64、MIPS、PowerPC、...)をサポート
- シンボル名または16進アドレスでアドレスにジャンプ
- シンタックスカラーリング
- PEおよびその他のバイナリ形式をサポート
- 必要に応じてシンボルをソート
- PUSH/POP命令を色分け
- ARMアーキテクチャ命令をより適切に色分け
- ジャンプ命令に Follow Jump メニューを追加(BackStack付き)
- 自動解析設定をオーバーライド可能
- 命令をクリップボードにコピー可能
- PEヘッダーのIAT、EATを解析
- 表示する列を選択可能
- root権限がないとアクセスできないシステムファイルの解析をサポート(root化済み端末)
- 解析できないファイルに対する親切なメッセージ
- ストレージ選択ツールはセッションを保持し、最後に参照したフォルダを記憶
- 16進ビューとユーティリティ計算機を追加
- テーマのインストールが自動化
- zip/apkに複数のバイナリがある場合、解析するバイナリを選択
- インストール済みアプリからAPKを選択
- バイナリ内の文字列を検索(残念ながらASCII文字のみ)
- バイト単位の分析(平均、ハッシュ、エントロピー、G検定、χ二乗検定、自己相関)によりファイルが暗号化されているかを判断
- .NETアセンブリをサポート
- dexファイルをサポート
- プロジェクト内の複数ファイルの解析を許可
使用方法の説明動画

アセンブリに関する資料
エラーハンドリング
-
アプリがクラッシュする!
ご不便をおかけして申し訳ございません。問題としてエラーレポートをお送りください。次の安定版を待てない場合は、アプリへの読み取り/書き込み権限を確認/許可してください。
-
NotThisFormatException
既知の実行可能ファイルですか?(ELF:.so, .o, .lib, .a, etc..、PE:.exe, .dll, .sys, ...)その場合は、解析しようとしたファイルと一緒に報告してください。
そうでない場合は、OKを押して手動で設定する必要があります。
機能リクエスト歓迎!
ビルドとプルリクエスト
- 最初にサブモジュールを初期化:
git submodule update --init --recursive
- Android Studioまたは設定済みのAndroid SDK/NDKを備えたGradleを使用してください。
- 改善は歓迎します!
オープンソース
このアプリは以下を使用しています:
TODO
- シンボルタブにNDK/C標準APIのプロトタイプを表示
- より洗練された色分け
- より有用なコメントを生成
- アセンブリチュートリアルを提供
- デバッグ用の擬似仮想マシンを追加
- ユーザーがアクティブなプロセスを解析できるようにする
- 逆アセンブリの横に矢印を追加
- 行選択
- Thumbアセンブリのサポート改善
- OllyDbgの
.udd/.bakファイルとの互換性を追加
- IDAの生成ファイルとの互換性を追加
- その他のユーティリティを追加予定
- Androidリソースアナライザを追加
- Googleドライブからファイルを選択可能に
- ハッシュによるサンプルをウェブから選択可能に
謝辞
https://reverseengineering.stackexchange.com/a/20124/23870
XRefs
https://reverseengineering.stackexchange.com/a/18203/23870
プライバシーポリシー
以下の点についてお知らせします:
FileCorruptedException などの種類のクラッシュレポートが送信されると、解析中のファイルがバグ報告メールに添付され、github.com のリポジトリにアップロードされる可能性があります。
スター履歴
