Jes*_*mos 20
例如,CALL实际上是为你做的
CALL my_func
Run Code Online (Sandbox Code Playgroud)
会做点什么的
push ret_address
jmp my_func
Run Code Online (Sandbox Code Playgroud)
在某种意义上,后续的RET调用只会使用刚刚推送到JMP的地址.是否有特定原因导致您不想使用CALL或者它不适合您?对于内存中的当前位置,您可以尝试读取EIP寄存器(无法写入).
您只需将dword值和jmp推送到该过程即可.推送将是返回地址:
push return_address (push eax if address in eax)
jmp call_address
Run Code Online (Sandbox Code Playgroud)
如果存在针对该特定调用的参数,请记住也推送参数.
目前在记忆中的位置是什么意思?我想你的意思是当前的指令指针.您不能直接获得它,但是您可以使用seh处理程序(结构化异常处理程序)在导致处理异常时获取该值.
归档时间: |
|
查看次数: |
21062 次 |
最近记录: |