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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
HexRaysCodeXplorer — より良いコードナビゲーションのためのHex-Rays Decompilerプラグイン | Kitploit
ツール/GitHubGitHub/rehints/hexrayscodexplorer
静的分析リバースエンジニアリングデバッガマルウェア分析バイナリ解析
GitHubrehints/hexrayscodexplorer

HexRaysCodeXplorer

より良いコードナビゲーションのためのHex-Rays Decompilerプラグイン

リポジトリを見る
2.6k4138ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

| | | | | ___ \ / __ \ | | \ \ / / | |
| || | _____ | |/ /__ _ _ _ | / / ___ | | ___ \ V / _ __ | | ___ _ __ ___ _ __ | _ |/ _ \ / / // | | | / __| | / _ \ / _ |/ _ / | ' | |/ _ | '/ _ \ '| | | | | __/> <| |\ \ (| | || __ \ _/\ () | (| | __/ /^\ \ |) | | () | | | __/ |
_| |
/_//__| __,|_, |/_/_/ _,|_/ / ./||___/|| ___||
/ | | |
|
/ |_|

============================================================================

License: GPL v3 Code Climate Issue Count

Hex-Rays逆コンパイラプラグイン。リバースエンジニアリングプロセスにおけるコードナビゲーションを向上させます。CodeXplorerは、C++アプリケーションやStuxnet、Flame、Equation、Animal Farmなどの最新マルウェアのコード再構築を自動化します。:octocat:

CodeXplorerプラグインは、最初に公開された Hex-Rays逆コンパイラプラグインの1つです。このプロジェクトは2013年夏以来更新を続けており、新しい機能を頻繁に追加しています。また、CodeXplorerの最も興味深い機能は、REcon、ZeroNights、H2HC、NSEC、BHUSなど数多くのセキュリティカンファレンスで発表されています。👾

コントリビューター:

Alex Matrosov (@matrosov)

Eugene Rodionov (@rodionov)

Rodrigo Branco (@rrbranco)

Gabriel Barbosa (@gabrielnb)

対応Hex-Rays製品バージョン: 新しいSDKリリースの興味深い機能を活用するため、常に最新バージョンのIDAおよび逆コンパイラに焦点を当てています。つまり、最新のHex-Rays製品でのみテストしており、以前のバージョンでの安定動作は保証されません。

なぜIdaPythonではないのか: すべてのコードはC/C++で開発されています。これは、Hex-Rays逆コンパイラ向けの複雑なプラグインを安定してサポートするための方法だからです。

対応プラットフォーム: Win、Linux、Mac向けx86/x64。

HexRaysCodeXplorer - コードナビゲーションを容易にするHex-Rays逆コンパイラプラグイン。疑似コードウィンドウの右クリックコンテキストメニューにCodeXplorerプラグインコマンドが表示されます:

1

💎 CodeXplorerプラグインの主な機能: 💎

  • C++オブジェクトの自動型再構築。HexRaysCodeXplorerを使用して型を再構築するには、位置独立コードまたはオブジェクトへのポインタを保持する変数を選択し、右クリックしてコンテキストメニューから「REconstruct Type」オプションを選択します:

2

再構築された構造体は「出力ウィンドウ」に表示されます。型再構築機能の詳細はブログ記事「HexRaysCodeXplorerにおける型再構築」で提供されています。

また、CodeXplorerプラグインは、再構築した型をIDAのローカル型ストレージに自動的に保存することもサポートしています。

6

  • 仮想関数テーブルの識別 - 型再構築中に仮想関数テーブルへの参照を自動的に識別します。仮想関数テーブルへの参照が識別されると、プラグインは対応するC構造体を生成します。以下のように、struct_local_data_storageを再構築する際に2つの仮想関数テーブルが識別され、その結果、struct_local_data_storage_VTABLE_0とstruct_local_data_storage_VTABLE_4の2つの対応する構造体が生成されました。

12

  • Cツリーグラフの可視化 - citem_t(hexrays.hpp)の用語で逆コンパイルされたルーチンを表す特別なツリー状の構造。逆コンパイラの動作を理解するための便利な機能です。ハイライトされたグラフノードは、HexRays疑似コードウィンドウの現在のカーソル位置に対応しています:

3

  • Ctree Item View - ハイライトされた要素のctree表現を表示します:

16

  • Ctreesをファイルに抽出 - SHA1ハッシュを計算し、すべてのctreeをファイルにダンプします。

14

  • 型をファイルに抽出 - すべての型情報(再構築された型を含む)をファイルにダンプします。

  • 仮想関数呼び出しのナビゲーション(HexRays疑似コードウィンドウ内)。C++オブジェクトをC構造体で表現した後、この機能により、仮想関数呼び出しを構造体フィールドとしてマウスクリックでナビゲートできるようになります:

4

  • 逆アセンブルへジャンプ - 現在の疑似コード行の位置から「IDA Viewウィンドウ」内のアセンブリコードへ移動するための小さな機能。逆コンパイルされた行に関連付けられたアセンブリコードの場所を見つけるのに役立ちます。

8

  • Object Explorer - 仮想テーブル(VTBL)構造体をナビゲートするための便利なインターフェース。Object ExplorerはVTBL情報をIDAカスタムビューウィンドウに出力します。出力ウィンドウは、右クリックコンテキストメニューで「Object Explorer」オプションを選択すると表示されます:

5

Object Explorerは以下の機能をサポートしています:

  • VTBL用の自動構造体生成をIDAローカル型に

  • 仮想テーブルリスト内のナビゲーションと、クリックによるVTBLアドレスへの「IDA View」ウィンドウ内へのジャンプ

  • 仮想テーブルリスト内の現在位置のヒント表示

  • メニュー内の「Show XREFS to VTBL」をクリックして相互参照リストを表示

11

  • RTTIオブジェクトの自動解析をサポート:

13

バッチモードには以下の機能が含まれています:

  • バッチモード - ユーザー操作なしで複数のファイルを処理するためにCodeXplorerを使用する便利な機能。2015年のBlack Hat調査の後、200万サンプルを処理するためにこの機能を追加しました。
root@kitploit:~
例(関数名のプレフィックスが"crypto_"の関数に対して型とctreeをダンプ):
idaq.exe -OHexRaysCodeXplorer:dump_types:dump_ctrees:CRYPTOcrypto_path_to_idb

コンパイル:

Windows:

  • Visual Studioでソリューションを開く
  • src/HexRaysCodeXplorer/PropertySheet.propsファイルをメモ帳(++)で開き、IDADIRとIDASDKのパスをそれぞれIDAのインストールパスとIDA7 SDKパスに更新します。HexRays SDKは$IDADIR\plugins\hexrays_sdkにある必要があります(デフォルトのまま)
  • Release | x64およびRelease x64 | x64構成をビルド

Linux:

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> EA64=0 make -f makefile.lnx
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> EA64=0 make -f makefile.lnx install

Mac:

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> make -f makefile.mac
  • MacのMakefileは手動編集が必要な場合があります。プルリクエスト歓迎!
  • IDA 7.0の場合、.pmcファイル拡張子は.dylibにする必要があります
  • bash$ export IDA_DIR="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS" && export IDA_SDK="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/idasdk" && make -f makefile7.mac
  • または、XcodeプロジェクトHexRaysCodeXplorer.xcodeprojを開く

CMakeを使用:

  • cd src/HexRaysCodeXplorer/
  • mkdir build && cd build
  • cmake .. -DIdaSdk_ROOT_DIR=<PATH_TO_IDA_SDK> -DHexRaysSdk_ROOT_DIR=<PATH_TO_HEXRAYS_SDK>
  • cmake --build . --config Release

============================================================================

CodeXplorerプラグインに関するカンファレンス講演:

  • 2015
  • "Distributing the REconstruction of High-Level IR for Large Scale Malware Analysis", BHUS [スライド]
  • "Object Oriented Code RE with HexraysCodeXplorer", NSEC [スライド]
  • 2014
  • "HexRaysCodeXplorer: object oriented RE for fun and profit", H2HC [スライド]
  • 2013
  • "HexRaysCodeXplorer: make object-oriented RE easier", ZeroNights [スライド]
  • "Reconstructing Gapz: Position-Independent Code Analysis Problem", REcon [スライド]
ツールをダウンロード