1.4.4 從組合語言聯想到C語言
接下來看wsample01b.exe的組合語言。
由於wsample01b.exe中有很多函數呼叫,因此只要理解了push和call的性質應該就能夠看懂大部份邏輯了。
- 在cpy函數開頭的ExistingFileName、NewFileName、var_4都是函數使用的局部變數。
0040101C的lea eax, [ebp+ExistingFileName]中ExistingFileName的前面有一個ebp+,這個請暫時忽略,只要理解為「將ExistingFileName的地址存放到eax」即可。
寫成C語言應該是下面這個樣子:
char ExistingFileName[2048]; eax = ExistingFileName;