アプリケーションのバージョンを識別する#
16 進エディタ HxD を使用してアプリケーションのバージョンを表示する
上記のアプリケーションは 32 ビットプログラムであることがわかります。PE の後に PE..L... が続く場合、64 ビットプログラムの場合は PE の後に PE..d + が続きます。
IDE を使用してもアプリケーションのバージョンを確認できます。
このアプリケーションが 32 ビットプログラムであることがわかったので、32 ビットの IDA を使用して開きます。
開くと、IDA:Quick strat ウィンドウが表示されます。
「新規」をクリックし、対象のアプリケーションを検索して読み込みます。次のようなインターフェースが表示されます。
OK をクリックするだけで、設定は必要ありません。IDA はプログラムのアーキテクチャを自動的に識別します。
ビュー#
開いた後、表示されるウィンドウは、実行可能ファイルを読み込んだ後に最初に表示される逆アセンブリビューです。
スペースキーを押すと、グラフィカルと非グラフィカルの命令リストの表示モードを切り替えることができます。
Options-General-Disassembly で、Line prefixes にチェックを入れると、グラフィカルビューでの命令のアドレスが表示されます。
最初の効果は次のようになります。
変更後
IDA にはさまざまなビューモードがあり、view-Open subviews メニューで確認できます。
関数の開始ポイントの識別#
関数の開始ポイントに同じアドレスを指す複数の参照がある場合、最後の重複を関数の開始ポイントとして使用します。ここでは push 0 です。
設定の保存#
この設定を使用すると、現在のさまざまな設定を保存し、次回はこの設定を直接読み込むことができます。
文字の検索#
IDA のタブには、FUNCTIONS、STRINGS、NAMES などが含まれています。これらのオプションタブで「CTRL+F」を押すと、文字列を検索し、入力された文字に基づいてフィルタリングすることができます。VIEW-OPEN SUBVIEW-STRINGS メニューを開くと、「Lu」を含むすべての文字列を検索できます。
VIEW-OPEN SUBVIEW-DISASSEMBLY メニューを開くと、最初の逆アセンブリオプションタブとは異なる内容が表示される 2 番目の逆アセンブリオプションタブが表示されます。
ここには 3 つの逆アセンブリ表示ビューがあります。
VIEW-OPENSUBVIEW- HEX DUMP メニューを開くと、16 進数ビューが表示されます。
右クリックしてテキストモードに切り替えることもできますし、スペースキーを押して切り替えることもできます。
テキストビューは次のようになります。
view-Open subviews-import を開くと、外部関数の参照を表示できます。