haliyou001 发表于 2015-1-14 12:42

如何理解CALL 和RETN 以及ESP定律

本帖最后由 haliyou001 于 2015-1-14 13:08 编辑

1.call我们可以这样来理解:1.向堆栈中压入下一行程序的地址;2.JMP到call的子程序地址处。例如:
0043EDF5   .E8B6790000   call acerip.004467B0               0043EDFA.66:85C0       test ax,ax                           在执行了0043EDF5以后,程序会将0043EDFA压入堆栈,然后JMP到004A3508地址处! 2.RET对于RET我们可以这样来理解:1.将当前的ESP中指向的地址出栈(其实是当前栈顶的地址);2.JMP到这个地址。
Jmp 到栈顶的虚拟地址保存的程序地址**** Hidden Message *****






Scar-疤痕 发表于 2015-1-14 13:23

哈哈,抢个沙发!{:5_124:}

borytec 发表于 2015-1-14 13:31

看了一点要慢慢看了

歪歪 发表于 2015-1-14 13:44

我来围观下~!

htqweszxc 发表于 2015-1-14 13:56

谢谢大神分享学习学习

antony 发表于 2015-1-14 14:27

学习下汇编知识。。谢谢分享

keya 发表于 2015-1-14 14:37

学习了,谢谢楼主。

璀璨网络 发表于 2015-1-14 14:49

谢谢大牛

am873 发表于 2015-1-14 15:10

谢谢大神分享学习学习

520Kelly 发表于 2015-1-14 15:37

说得这么复杂、原理是这样这个是没错的
页: [1] 2 3 4 5
查看完整版本: 如何理解CALL 和RETN 以及ESP定律