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_局部变量的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript_作用域

Lua_变量

谁有易语言隐藏进程代码

如何在lua中正确定义局部变量并将其引用到XML?

Java面向对象(10)_代码块

python全局变量与局部变量