Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
uEmu — IDA用のユニコーンベースの小さなかわいいエミュレータプラグイン。 | Kitploit
ツール/GitHubGitHub/alexhude/uemu
組み込みシステムセキュリティ動的分析 (サンドボックス)リバースエンジニアリングデバッガバイナリ解析ファームウェア解析
GitHubalexhude/uemu

uEmu

IDA用のユニコーンベースの小さなかわいいエミュレータプラグイン。

リポジトリを見る
1.2k183921日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

概要

uEmu は、Unicorn Engine をベースにした IDA 用の小さくて可愛いエミュレータプラグインです。

以下のアーキテクチャを標準でサポートしています: x86、x64、ARM、ARM64、MIPS、MIPS64

何に適しているか?

  • ベアメタルコード(ブートローダー、組み込みファームウェアなど)のエミュレーション
  • 独立した関数のエミュレーション

何に適していないか?

  • 複雑なOSコード(動的ライブラリ、プロセスなど)のエミュレーション
  • 多くのシステムコールを含むコードのエミュレーション

改善できる点は?

  • ベンダー固有のレジスタアクセス(ARM64のMSR S3_x, X0など)をエミュレートする方法を見つける
  • 追跡するレジスタを追加する

インストール

  • idapyswitch を使用して IDAPython を設定する
  • brew install unicorn で Unicorn バイナリをインストールする
  • pip install unicorn で Unicorn Python バインディングをインストールする
  • IDA で File / Script file... または ALT+F7 を使用して uEmu.py を読み込む

オプションで uEmu を IDA プラグインとして自動的に読み込むこともできます。その場合は、[IDA]/Plugins フォルダに配置し、uEmu.py 内の USE_AS_SCRIPT を False に変更します。

機能

ポップアップメニュー

  • Start コマンドは、すべてのセグメントをマッピングし Unicorn をセットアップしてエミュレータを初期化します
  • Run コマンドは、ブレークポイントに到達するかエラーが発生するまで命令をエミュレートします
  • Step は、1命令またはN命令をエミュレートします(ALT/OPTION を押しながら実行すると数を指定できます)
  • Stop はエミュレーションを中断します
  • Reset はエミュレーションエンジンをリセットし、すべてのメモリ領域のマッピングを解除します
  • Jump To PC は現在のPCにジャンプします
  • Set PC はPCをカーソル位置に移動します
  • Update CPU Context は、手動またはJSONファイルを介してCPUコンテキストを更新できます(下記参照)
  • Show Controls は、Start/Run/Step/Stop ボタンがあるウィンドウを表示します
  • Show CPU Context は、利用可能なレジスタを表示するウィンドウを表示します
  • Show CPU Extended Context は、拡張レジスタ(FP/SIMD)を表示するウィンドウを表示します
  • Show Stack は、現在のスタックを表示するウィンドウを表示します
  • Show Memory Range は、特定のメモリ領域を表示できます

Start

カーソル位置からエミュレーションを開始します。最初に初期CPUコンテキストを指定する必要があります(Update CPU Context を参照)。 その後、IDAデータベースのすべてのセグメントがエミュレータにマッピングされます(初期化データもコピーされます)。

Run

コードまたはメモリのブレークポイントに到達するか、ユーザーアクションが必要なイベントが発生するまでコードを実行します。

Step

シングルステップ実行を実行します。ALT/OPTION を押しながら実行すると、実行するステップ数を指定できます。

Stop

エミュレーションが進行中の場合、このコマンドを使用して実行を中断できます。

Reset

エミュレータインスタンスをリセットし、すべてのメモリ領域のマッピングを解除します。

ブレークポイント

IDAのブレークポイントを使用して、エミュレーションを中断する場所を指定できます。 これにはコードブレークポイントとメモリブレークポイントが含まれます。 通常は Run コマンドと一緒に使用します。

ランタイムアクション

マッピングされていないメモリ

エミュレータがまだマッピングされていないメモリにアクセスする必要がある場合、プラグインは次のようなダイアログを表示します。

  • YES を押すと、メモリにロードするメモリダンプを指定できます。

  • NO を押すと、ゼロで埋められた1つの空ページ(0x1000)がマッピングされます
  • Cancel を押すとエミュレーションが停止します

未知の命令

エミュレータが未知の命令に遭遇した場合、それをスキップして手動でCPUコンテキストを復元できます。

ビュー

Controls

実行を制御するためのパネルです。

CPU Context

現在のCPUコンテキストです。

エミュレーションが停止するたびに、変更されたレジスタが強調表示されます。レジスタはポップアップメニューから1、2、または3列で表示できます。

ポップアップメニューからCPUコンテキストを更新できます(下記参照)。

CPU Extended Context

現在のCPU拡張コンテキストです。

エミュレーションが停止するたびに、変更されたレジスタが強調表示されます。レジスタはポップアップメニューから1、2、または3列で表示できます。

ポップアップメニューからCPUコンテキストを更新できます(下記参照)。

Memory

このビューを使用して、指定されたアドレスとサイズのメモリ領域を観察します。利便性のためにコメントがタイトルに表示されます。

エミュレーションが停止するたびに、変更されたメモリブロックが強調表示されます。

CPUコンテキストの更新

レジスタ値は個別に変更することも、ポップアップメニューからJSONファイルを使用して一度にすべて変更することもできます。 現在のコンテキストは将来の使用のためにJSONファイルに保存することもできます。

メインプラグインメニュー

ポップアップメニューにリストされているすべての機能に加えて、いくつかの新しいコマンドがあります。

Show Mapped Memory

すべてのマッピングされた領域を表示します。ポップアップメニューを使用して、特定の領域のメモリを表示したり、ファイルにダンプしたりできます。

Fetch Segments

このコマンドは、新しいマッピングを作成するか、可能であれば既存のマッピングとマージすることで、IDAセグメントをマッピングされたメモリと同期しようとします。 これにより、エミュレータを再起動せずに実行時に新しいIDAセグメントをエミュレータに追加するのに役立ちます。

Load Project

ファイルからuEmuの状態を読み込みます。

Save Project

uEmuの状態をファイルに保存します。 プラグインで定義されているレジスタのみが保存されることに注意してください。

Settings

  • Follow PC は、エミュレーション中にIDAビューを現在のPCまでスクロールします
  • Convert to Code automatically は、カーソル下のIDAデータがコードでない場合に自動的にコードに変換します
  • Trace instructions は、エミュレータが実行するすべての命令を出力します
  • Lazy mapping は、開始時にすべての既存領域をマッピングする代わりに、必要に応じてページを追加します

拡張機能

拡張システムを使用して、uEmu の上に新しい機能を追加したり、独自のプロジェクトを構築したりすることもできます。 説明と例はこちらにあります。

  • crauEmu - コード再利用攻撃のペイロードを開発および分析するための拡張機能。
ツールをダウンロード