反汇编深入分析函数调用
http://www.hackbase.com 2007-1-25 黑客基地 | |||
函数:
F11跟踪到fun,alt+8看反汇编代码:
![]() 由上图的EIP可以看到0040B500就是下条要执行的指令,在Memory窗口中可以看到内存数据99880000和11000000,实质上是0x8899,0x1100,(intel处理器一般都是小端存储),还可以看到有内存数据87104000,实质上是00401087。在主调函数中,可以很清楚的看到00401087被调函数返回以后执行的第一条指令,也就是堆栈清空指令(遵循__cdecl调用规范)。Call指令隐含做了一个操作:就是把函数返回后执行的第一条指令压入堆栈。
执行完:0040B50B push edi 如下图: ![]() ESP:0012FE58 与刚进入函数的时候的ESP:0012FF28 之间的堆栈图如下: 执行完:0040B51C rep stos dword ptr [edi] 后EDI 为:0012FF24,如下图: ![]() (完) | |||
|
反汇编深入分析函数调用
最新推荐文章于 2020-03-01 21:26:18 发布