2019
10
10

[IDA] 関数に渡される引数の有無や個数を確認するには

関数のコード内にargで始まるデータや正数が定義されているデータがあるか確認する。(関数の引数へのアクセスはEBPにオフセットを加算することによって行われる)

.text:00402A20 downloadFile_402A20 proc near
.text:00402A20
.text:00402A20 var_60= dword ptr -60h
.text:00402A20 dwExceptionCode= dword ptr -44h
.text:00402A20 var_28= dword ptr -28h
.text:00402A20 var_24= dword ptr -24h
.text:00402A20 hObject= dword ptr -20h
.text:00402A20 NumberOfBytesWritten= dword ptr -1Ch
.text:00402A20 var_18= dword ptr -18h
.text:00402A20 lpMem= dword ptr -14h
.text:00402A20 var_10= dword ptr -10h
.text:00402A20 var_C= dword ptr -0Ch
.text:00402A20 var_4= dword ptr -4
.text:00402A20 arg_0= dword ptr 8
.text:00402A20 hostshort= word ptr 0Ch
.text:00402A20 lpFileName= dword ptr 10h


上記の関数は3つの引数を受け取る。

関数の呼び出し部分を確認するとpush命令が3回呼び出されて引数が3つ関数に渡さているのが確認できる。


.text:00402C2E 52 push edx ; lpFileName
.text:00402C2F 05 48 01 00 00 add eax, 148h
.text:00402C34 51 push ecx ; int
.text:00402C35 50 push eax ; int

.text:00402C36 8B CE mov ecx, esi
.text:00402C38 E8 E3 FD FF FF call downloadFile_402A20


以上。
Comment



Only the blog author may view the comment.


Trackback
Trackback URL

«  | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード