静的解析をやってみよう

Stirling : Stirlingの詳細情報 : Vector ソフトを探す!
IDA Freeware : IDA Freeware Download Page – Hex Rays
参考書籍 : たのしいバイナリの歩き方


・Stirlingでバイナリを眺める
f:id:kamishiroHW:20200503093118p:plain
f:id:kamishiroHW:20200503093139p:plain
→ MESSAGE, Hello! Windowsといった文字列
→ C:\Documents...といったファイルパス
→ KERNEL32.dll, MessageBoxWといった文字列
などが確認できる


・IDA
IDA読み込み
f:id:kamishiroHW:20200504091426p:plain

Names window(Shift + F4)からwWinMainをダブルクリック
アセンブルされたコードが表示される
f:id:kamishiroHW:20200504091159p:plain

文字列を発見
・2012
・lstrcmpW
・GetActiveWindow
→ Hello Windows!と2012が分岐したところに配置されている

アセンブラを読む
右クリックしてtext viewに切り替え
f:id:kamishiroHW:20200504091224p:plain
.text:00401000 push ebp
.text:00401001 mov ebp, esp
.text:00401003 push offset String2 ; "2012"
.text:00401008 push [ebp+lpCmdLine] ; lpString1
.text:0040100B call ds:__imp__lstrcmpW@8 ; lstrcmpW(x,x)
.text:00401011 push 0 ; uType
.text:00401013 push offset Caption ; "MESSAGE"
.text:00401018 test eax, eax
.text:0040101A jnz short loc_401034
ここで条件分岐

ソースコードを確認
f:id:kamishiroHW:20200504091317p:plain