另外,在函数中,使用esp+offset的方式进行局部变量寻址时,用IDA来阅读代码的时候,直接可以看后面一部分的变量名就好,它记录了当前栈帧相对于栈底的偏移位置,只是中间出现了push而未及时平栈时,esp就要动态算偏移了,才能时刻得到栈底地址,值得庆幸的是,这个动态偏移IDA已经帮我们算出来了。比如
只要知道,var_18相对与当前栈帧栈底的偏移位置就可以了。
.text:
004010E0
var_18
=
dword ptr
-
18h
[esp
+
1Ch
var_18]
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)