ARC_OD_局部变量
Posted DebugSkill
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARC_OD_局部变量相关的知识,希望对你有一定的参考价值。
1、代码位置:
01127F30 >/$ 6A FF PUSH -1
01127F32 |. 68 51752201 PUSH CEGUIBas.01227551
01127F37 |. 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
01127F3D |. 50 PUSH EAX
01127F3E |. 81EC B0000000 SUB ESP,0B0 ; ZC:大块的局部变量区域(ESPfrom0012EBA0to0012EAF0)
01127F44 |. A1 00892E01 MOV EAX,DWORD PTR DS:[12E8900]
01127F49 |. 33C4 XOR EAX,ESP
01127F4B |. 898424 AC0000>MOV DWORD PTR SS:[ESP+AC],EAX
01127F52 |. 55 PUSH EBP
01127F53 |. 56 PUSH ESI
01127F54 |. 57 PUSH EDI
ZC: 上面的“大块局部变量区域” ESP从0012EBA0跳到了0012EAF0,其中有大量的遗留信息,OD同样会对它们作注释 可能会提示如下内容:
(1)、CALL的返回地址 (提示信息类似于“返回到 ????????”)
(2)、指向偏移 (提示信息类似于“OFFSET ????????”)
(3)、全局变量 (提示信息类似于“??模块名.????????”)
(4)、等等
它们不是是无效的信息,但是如果没有注意到局部变量的申请的话,就会以为 堆栈里面有函数返回等等的信息,依据这样的假的信息来 分析/跳转 的话 就可能被带到歪路上去,∴ “堆栈窗口 --> 右键 --> 反汇编窗口中跟随” 要慎用 需要确保确实是真正的函数返回 而非局部变量里面的过时信息。
2、
3、
以上是关于ARC_OD_局部变量的主要内容,如果未能解决你的问题,请参考以下文章