IDA 8.2のハイライト
IDA64 での 32 ビットのサポート
8.1 で開始した 32 ビット IDA の廃止に向けた別のステップとして、IDA64 で 32 ビットのデバッグと逆コンパイルが可能になりました。逆コンパイルするには、対応する 32 ビット逆コンパイラ ライセンスが必要です。IDA Home および IDA Free nowクラウド デコンパイラーを使用した 32 ビット バイナリの逆コンパイルもサポートします。
プロセッサモジュールの改善
Xtensa モジュールは、さまざまなオプションおよびマクロ命令を追加して大幅に作り直されました (サポートされる命令の数はほぼ 3 倍になりました)。 最も一般的なスイッチ パターンが認識され、マークアップされます。
スタック変数が関数内で追跡および作成されるようになりました。
RISC-V モジュールはベクトル拡張命令を逆アセンブルできるようになりました。
迅速
Swift コンパイラーによって生成されたメタデータ構造は解析、フォーマット、ラベル付けされ、IDA で表現できる単純な型の一部はローカル型にインポートされます。
画像検索
現在のバイナリに埋め込まれている画像(写真)を検索して表示できる新しいプラグインです。
UIキャンディー
CSS ベースの IDA テーマは、多くの IDA ビューで背景画像をサポートするようになりました。
変更点と新機能の完全なリスト:
IDAチームとルミナ
- lumina: デフォルトで TLS 接続を使用する最近の MySQL バージョンのサポートを追加しました
- チーム: Vault のパスワードが OS 固有のキーチェーンに安全に保存されるようになりました
- vault/lumina: ローカル MAC アドレスが .lic ファイルで指定されたものと一致することを許可します
プロセッサモジュール
- XTENSA: 多くの追加命令、レジスタ、スタック変数のサポートを追加しました (Zak Escano に感謝)
- XTENSA: 多くの標準スイッチ パターンのサポートを追加しました (Zak Escano に感謝)
- XTENSA: 使用された ABI (CALL0 またはウィンドウ化) を検出
- RISC-V: ベクトル拡張命令のサポートを追加
- TRICORE: TC1.6.2 からの FTOHP および HPTOF 命令をデコードする
ファイル形式
- macho: macho.cfg に USE_SEG_PREFIXES オプションを追加しました。これは、IDA セグメント名のプレフィックスとして Mach-O セグメント名を使用するように IDA に指示します (例: "__TEXT:__text")。
FLIRT / TILS / IDS
- FLIRT: vc1434 (Visual Studio 16.11) の署名を追加
- FLIRT: vc1434 の MFC 署名を追加しました (Visual Studio 16.11)
- FLIRT: icl 222 (インテル C++ 2021.2) の署名を追加
- FLIRT: icl 2221 (インテル C++ 2021.2.1) の署名を追加
- TIL: Aarch64 (ARM64) UEFI 2.5 のタイプ ライブラリを追加しました
- idaclang: 「--idaclang-mangle-format」スイッチを追加しました。ユーザーがカスタムの名前マングリング形式を設定したい場合、tilib の -G オプションと同様に機能します
標準プラグイン
- PDB: Windows では、MSDIA を使用して従来の PDB ファイルをロードできるように、デフォルトでフォールバック モードが有効になりました
- picture_search: バイナリに埋め込まれたラスター画像を検索して表示するための新しいプラグイン
- svdimport: クラスター、derivedFrom、dim/dimIncrement ペリフェラル属性のサポートを追加しました
- svdimport: プラグインの UI にフォルダーベースのツリーを使用します
- swift: Swift メタデータを解析してフォーマットする
- 迅速: 単純な型 (列挙型、構造体) をローカル型にインポートする
Kernel
- カーネル: オフセット用の新しいフラグ REFINFO_SELFREF を追加しました (ベースは現在の要素のアドレスに等しい)
スクリプトとSDK
- IDAPython: C++ SDK のprocessor_t (ida_idp._processor_t として) を公開する
- SDK: 外部プログラムの出力をキャプチャするための Capture_process_output() を追加しました。
- SDK: 遅延ロードのダーティ チューザーのサポートを追加しました。CH2_LAZY_LOADED フラグをダーティベースのチューザーで使用すると、展開時にディレクトリのコンテンツをロードできます。
- SDK: 非推奨の qerrcode() (代わりに errno に直接アクセスできます)
UI
- UI: 現在のセグメントのメモリ スナップショットを取得する簡単な方法を追加しました
- UI: さまざまなプレフィックス (例: @r1) を使用するプラットフォームで一致するレジスタのハイライト表示を改善しました。
- UI: 逆アセンブリでは、構造体または配列メンバーの行プレフィックス内のアドレスが、それらのメンバーのオフセットに応じて増加するようになりました。
- UI: テーマで CSS を使用して、画像をリスト (IDA ビュー、擬似コードなど) の背景として属性指定できるようになりました
- UI: 構造体または配列の途中のアドレスにジャンプすると、カーソルが逆アセンブリ リストの正しい行に配置されるようになりました
- UI: 「待機」ダイアログは、一定のタイムアウト後にのみ表示されるようになりました(これにより、干渉するポップダイアログの数が減ります)
逆コンパイラ
- デコンパイラ: 「alt+enter」ショートカットで新しい疑似コード ウィンドウにジャンプするアクションを追加しました
- 逆コンパイラ: 対応する 32 ビット逆コンパイラ ライセンスが利用可能な場合、IDA64 での 32 ビット ファイルの逆コンパイルが有効になりました
バグの修正
- バグ修正: arm: "set callee" (Alt-F11) が BLR 命令の相互参照を作成できませんでした
- バグ修正: アルファ: 「lda」命令により、間違ったサイズのスタック変数が作成される可能性がある
- バグ修正: DWARF: リンクが絶対リンクの場合、.dwz コンパニオン ファイル (.gnu_debugaltlink によって指定される) に存在するデバッグ情報がスキップされる
- バグ修正: FLAIR: 正しくない「pelf.rtb」ファイルを使用すると、pelf ユーティリティがクラッシュする可能性がありました
- バグ修正: 配列 typedef が同じサイズの構造体に置き換えられた場合、IDA がクラッシュする可能性がありました
- バグ修正: macOS 13 上のプロセスにアタッチした後、IDA が dyld (およびロードされたモジュール) の検出に失敗する可能性がありました。
- バグ修正: IDA はデバッグ中に Objective-C メソッド データの解析に失敗する可能性がありました。
- バグ修正: IDAPython: cfunc_t.arguments 配列に関数の引数が間違った順序で含まれる可能性がある
- バグ修正: IDAPython: ida_kernwin のドキュメントがありませんでした。コールバックの選択がありませんでした
- バグ修正: IDAPython: get_reg_vals() が使用できませんでした
- バグ修正: IDAPython: ida_netnode 関数の「タグ」として範囲 [128,255) の値を使用すると失敗する
- バグ修正: ios_deploy「シンボル」フェーズが iOS 14 ~ 16 で失敗する。
- バグ修正: lumina: INFORMATION_SCHEMA.COLUMNS フィールドの大文字と小文字が区別されるため、特定の MySQL セットアップでプライベート lumina サーバーの起動に失敗する可能性がありました
- バグ修正: PC: 呼び出し先ターゲットが一部の呼び出し命令で出力されなかった
- バグ修正: svdimport: セグメント内の奇数 (+1) 開始アドレスの問題を修正しました
- バグ修正: ui/qt: 間違ったウィジェットを ida_kernwin.get_highlight() に渡すと IDA がクラッシュする可能性がありました
- バグ修正: ui: 「構造オフセット」コンテキスト メニューの「サイズ」式が「T」ホットキーと異なっていました
- バグ修正: ui: デフォルト以外の項目幅を使用して 16 進数ビューからデータをエクスポートすると、間違った出力が生成される可能性がありました
- バグ修正: UI: アクセシビリティ オプション「テキスト カーソル インジケーターを使用する」が有効になっている場合、Windows 上の IDA がハングする
- バグ修正: ui: Windows での「出力」ウィジェットの「テキスト カーソル インジケーター」のアクセシビリティを改善
- バグ修正: ボールト: 「hv purge」コマンドが使用できませんでした
- バグ修正: xtensa: スタック変数の書き込みアクセスが正しく表示されませんでした