大会回邮地址

cod*_*rgi 4 x86 assembly

我想在程序集中获取函数的返回地址,然后将该返回地址值与另一个值进行比较,而不会破坏堆栈或更改堆栈中的任何内容,

怎么能在集会中完成?

我正在使用x86

Pyj*_*ong 7

如果使用stdcall约定返回地址存储在寄存器ebp +4的内容中,则通常在x86上.所以cmp ebp, whatever;应该做的工作.Actualy它不依赖于调用约定,而是因为它取决于你的编译器是否将push ebp作为函数的第一条指令,它通常会这样做.通常这个函数看起来像:

push ebp
mov ebp,esp
sub esp,size_of_local_variables
...
somehting something something
...
mov esp, ebp
pop ebp
ret
Run Code Online (Sandbox Code Playgroud)