能力值:
( LV12,RANK:450 )
|
-
-
2 楼
IDA不会出现如你所说的情况,如果你发现出现你上面的代码,也就表示这个 [esp+10h]已经在这个函数头中定义过了,不过你没有让他正确的显示,将光标放在 [esp+10h]上,按 k (stack variable)键,如果 [esp+10h]为红色,先按 p (Hexadecimal) 键(在你的机器上,键可能不同,因为我根据自己的习惯从新定义过键值,而原来是什么键我记不住了) 再按 k 键,即可正确显示: [esp + 2 + var_4] (根据压栈的深度,可能不一样),而你在函数头可以看到 var_4 = dword ptr -4 ,这样的定义,因为前面有了定义,所以这条指令就不会在有 dword ptr 这样的指引:
mov dword ptr [esp + 2 + var_4], 10h
而是显示
mov [esp + 2 + var_4], 10h
或是你的显示方法
mov [esp + 10h], 10h
IDA 处理这些问题是非常严格的,不会出现二意性。
|
|
|