另外,在函数中,使用esp+offset的方式进行局部变量寻址时,用IDA来阅读代码的时候,直接可以看后面一部分的变量名就好,它记录了当前栈帧相对于栈底的偏移位置,只是中间出现了push而未及时平栈时,esp就要动态算偏移了,才能时刻得到栈底地址,值得庆幸的是,这个动态偏移IDA已经帮我们算出来了。比如
只要知道,var_18相对与当前栈帧栈底的偏移位置就可以了。
.text:
004010E0
var_18
=
dword ptr
-
18h
[esp
+
1Ch
var_18]
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课