QualityNet サイバーフォレンジック事業部

03-6260-9237

営業時間(9:00~17:30)定休日(土曜・日曜・祝祭日)

カタログ
ダウンロード
お問い合わせ

新バージョンのリリース

ホーム > 新バージョンのリリース > IDA Pro v9.2 リリース

IDA Pro v9.2 リリース

概要

IDA Pro v7.6 がリリースされました。

  • リリース日:2025/09/08

主な追加・修正・変更点等は、以下をご覧ください:

 

※ 記事内のURLは、予告なく変更、もしくは削除されることがあります。

機能の追加、及び拡張

  • Go 言語解析の大幅な改善
    • デコンパイラが、Go 言語のスタックベース ABI における戻り値を完全にサポートするようになり、関数間でのスタックやレジスタに散在するデータ項目の受け渡しをより適切に処理できるようになりました。
    • さらに、オブジェクトコピー操作や Go コンパイラ特有の以下のイディオムの認識を追加し、文字列プールを解析するアルゴリズムも改善しました。
      • runtime.convTnoptr
      • runtime.convT
      • runtime.growslice
      • runtime.makeslicecopy
      • runtime.duffcopy
      • runtime.duffzero
    • これらの変更により、デコンパイルされた Go 言語のコードは格段に読みやすくなっています。

 

  • ユーザーインターフェースの新規搭載と大幅改良
    • Xref Graph
      • “Xref Graph” は、関数間の関係(コードおよびデータ)をグラフィカルに表示するための新しいウィジェットです。
      • 相互参照でつながるノードの集合を生成し、ノードは『力学的レイアウト(force-directed)』アプローチで配置されます。
    • Xref Tree
      • “Xref Tree” は、(逆アセンブラの)相互参照をテキスト形式で、対話的かつ非モーダルにたどれる新しいウィジェットです。これにより、関数呼び出し階層やデータ参照の概要をより分かりやすく把握できます。
      • このビューは新しい Xref Graph 及び相互参照全般を補完し、最終的には密接に統合される予定です。
    • Jump Anywhere
      • “Jump Anywhere” は、IDB 内の任意の場所に素早くジャンプするための新しいダイアログです。
    • Qt6
      • (既にサポート終了した)Qt v5.15から、Qt v6.8 LTS(具体的には 6.8.2)へ移行しました。
      • この変更は、PyQt5 に依存するプラグインに影響します(PyQt5 は PySide6 に置き換えられました)。
    • 統一されたロケーション履歴
      • 逆アセンブリ、疑似コード、ローカル型、スタックビューを跨いだグローバル履歴スタックが追加されました。これにより、複数のビュー間を移動する際に生じていた不自然なナビゲーション履歴の動作が改善されます。
    • ローカル型エディタでの C エディタ補完機能
      • ローカル型でフリーテキストエディタを使って型を作成する際、入力中に既存の型名を自動的に候補表示(または Ctrl-Space で手動表示)するようになりました。

 

  • デコンパイラーの刷新
    • 全ての “Call” / Xref Decompilations の表示
      • デコンパイラーには、指定したコードまたはデータ項目を参照する全ての擬似コードスニペットを素早く確認できる新しい 2 つのアクションが追加されました。
        • 例として、現在の関数に渡されているパラメータを確認する際などに非常に有用です。
    • switch 文における到達不能ケースの簡略化
      • switch 文において到達不能なケースを取り除いて簡略化します(設定変数 OPT_VALRNG_SWITCH_NCASES によって制限されます)。
    • デコンパイラーから逆アセンブラーへの構造体オフセットのコピー
      • 逆アセンブラーは、デコンパイラーが検出した型メンバーアクセスから構造体のオフセットを学習できるようになりました。
        • この機能はデフォルトでは無効になっており、有効化するには hexrays.cfg の HEXOPTIONS に HO_COPY_XREFS_TO_IDB を追加してください。
    • マイクロコードビューアー
      • デコンパイラーの動作中に、異なる成熟度レベルを経て処理されるマイクロコードを確認できる新しいサブビューを追加しました。
        • ホットキー “Ctrl+Shift+F8” またはメインメニューの [View] > [Open subviews] > [Generate microcode] から有効化できます。

 

  • アーキテクチャーのサポート
    • ARM
      • ARMv8.7-A で規定されている “FEAT_WFxT” 及び “FEAT_xNS” 命令をデコードできるようになりました(Apple の SPTM ファームウェアで逆アセンブルされなかった命令を修正)。
    • TriCore
      • TC1.8 アーキテクチャ由来の 50以上の新しい命令 が、逆アセンブラで完全にサポートされました。これには倍精度浮動小数点(FPU)命令、仮想化命令、新しい Q(クアッドサイズ)レジスターが含まれます。
    • MIPS
      • ビッグエンディアン及びびリトルエンディアンの MIPS について、逆アセンブラとデコンパイラの両方で o64 ABI がサポートされました。
    • RH850
      • RH850 プロセッサモジュールと ELF ローダーが更新されました。
    • RISCV
      • 関数プロローグが、0x10 バイト境界へのアライメント によっても認識されるようになりました。
      • Xuantie THEAD 命令に依存する多くの テーブルベースの switch 構文 が、逆アセンブラおよびデコンパイラで正しく認識されるようになりました。

 

  • Type System
    • 新しいパーサー
      • これまで型を解析するために慣れ親しんでいた “tilib” と “idaclang” を統合し、LLVM の LibTooling をベースにした第三のパーサーを導入しました。
    • Python API
      • Python API からこのパーサーを利用する場合は、”ida_srclang” モジュール を通して利用することができます。
    • Tuples
      • Go 言語 の ABI を扱う一環として、型システムに “Tuples” の概念を追加しました。
      • Tuples は構造体(struct)とよく似ていますが、比較の際にメンバーの正確な配置を無視する点が異なります。

 

  • デバッガ―
    • 例外情報に基づくスタックアンワインド(x86-64 PE ファイル向け)
      • x86-64 PE+ 実行ファイル内の関数で UNWIND_INFO データが利用可能な場合、スタックは例外ディレクトリに含まれる情報に従って再構築されるようになりました。これにより、未解析コードや非標準のスタックレイアウトを持つコードが存在する場合でも、コールスタックの計算がより正確 になります。
      • IDA のデバッガには以前から「Call Stack」ウィジェット(デバッグ中に Ctrl-Alt-S で呼び出せる、別名「スタックトレース」)があり、実行が一時停止したりブレイクポイントに到達した際に、現在の命令ポインタに至るまでの呼び出し階層 を表示します。
    • 改良されたデバッガ・レジスタウィジェット
      • デバッガには新しいレジスタウィンドウが搭載され、データが格納されているメモリ型の特性に応じて、自動デリファレンス と カラーコーディング が適用されるようになりました。

 

  • 複数の名前をコメントとして表示
    • 同じアドレスに対して複数の名前が見つかった場合、それらはコメントとして表示されます。
    • この挙動自体は以前から存在していましたが、複数の名前を取得できる対応ファイル形式のリストを拡張しました。

機能の追加、及び拡張

その他アップデート情報や詳細に関しては、Hex-Ray社のWebサイトをご確認ください。

 

製品についての情報は、以下のWebサイトをご確認ください。

TOP