2019
07
19

[Windows] 実行ファイルのエントリーポイントを特定するには

Windowsの実行ファイルのエントリーポイントを特定する方法のメモ

エントリーポイントとはプログラムの実行開始位置のこと。C言語で言うところのmain関数に相当します。

- 実行ファイルをIDAで開いて'Ctrl+E'を押すとエントリーポイントに飛ぶ。(実行ファイルをIDAで開くと大抵は自動でエントリーポイントに飛ぶ)

- 実行ファイルをバイナリ・エディタで開いて、PEヘッダの開始位置+0x28の値を確認する。詳しくはこちら

- OllyDbgで実行ファイルを開いて、F9キーを押してデバッグを実行する。大抵は自動でエントリーポイントに飛ぶ。

- 逆アセンブルからGetCommandLineAを探して、そこからエントリーポイントまで遡る。(コマンドラインベースのプログラムは大抵まずGetCommandLineAなどで引数の有無を確認するため。) GetCommandLineAの呼び出し直前に、"push ebp"および"mov ebp, esp"命令があれば、おそらく、そこがエントリーポイント。

- GUIベースのプログラムの場合は逆アセンブルからGetModuleHandleAを探して、そこからエントリーポイントまで遡る。GetModuleHandleAの呼び出し直前に、"push ebp"および"mov ebp, esp"命令があれば、おそらく、そこがエントリーポイント。

以上。
Comment



Only the blog author may view the comment.


Trackback
Trackback URL

«  | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード