ミニマリストの指導エクステンダー
AMIE は、ARM アーキテクチャのみに焦点を当てた FRIEND の Python 再版です (AArch32 と AArch64 のみがサポートされています)。これは軽量で依存関係がなく、ARM システムのレジスタと命令に関する最も関連性の高い最新情報を提供します。
AArch32 のMCR/MRC
およびMCRR/MRCC
命令、および AArch64 のMSR/MRS
およびSYS
命令の場合、システム レジスタ エンコーディングが検出され、 IDA Viewサブビューでわかりやすい名前に置き換えられます。
MCR/MRC
およびMSR/MRS
命令の場合、擬似コードサブビューにも適用されます。
IDA ビューサブビューまたは擬似コードサブビューでシステム レジスタの上にマウスを移動すると、関連するドキュメント ページの概要 (通常は 30 行以内) が表示されます (利用可能な場合はビットフィールドも含まれます)。
IDA ビューサブビューまたは疑似コードサブビューで命令ニーモニックの上にマウスを移動すると、関連するドキュメント ページの概要が表示され、利用可能な場合は関連するアセンブリ テンプレートも表示されます。
FRIEND との最大の違いは、リソース ファイル ( aarch32.json
およびaarch64.json
) が探索ツールから自動生成されることです。システム レジスタと命令 (ドキュメントとエンコーディング) は、ARM が提供する XML ファイルを解析する自家製スクリプトによって抽出されます。
プラグイン ファイルamie.py
とそのリソース ファイルaarch32.json
およびaarch64.json
をプラグイン ディレクトリまたはユーザー プラグイン ディレクトリ (複数の IDA Pro バージョン間で共有する場合) にコピーします。これらはデフォルトのパスです:
OS | プラグインディレクトリ | ユーザープラグインディレクトリ |
---|---|---|
窓 | %PROGRAMFILES%IDA 7.4plugins | %APPDATA%Hex-RaysIDA Proplugins |
Linux | ~/ida-7.4/plugins | ~/.idapro/plugins |
macOS | /Applications/IDA Pro 7.4/idabin/plugins | ~/.idapro/plugins |
依存関係はありません! :-)
実装定義のシステム レジスタのサポートはまだ利用できません。
これは IDA Pro の制限であるため、 MCRR/MRRC
に対する Hex-Ray のサポートはありません。