-
-
jmp跟popad的疑问
-
发表于:
2010-9-18 07:07
4943
-
首先感谢论坛朋友的帮助,俺也会基本的call了,也会在call之后jmp回原始地址了:)
现在还有个问题,jmp回原地址后,好像执行到最后堆栈不平衡了,
下面是我在vc里call自己函数的代码(vc不用pushad/popad好像也可以正常跳回去)
s是我一个char*指针,赋值给ecx后,我就jmp出去到father_address+8的位置,没问题!
如果jmp在ren8之前,那这个子函数不是不会自动平衡堆栈了?(retn8没机会执行)
__asm {
mov ecx, dword ptr[s];
mov ebx,dword ptr[father_address];
add ebx,8;
jmp ebx;
retn 8;
}
再问下,jmp那里能不能先申请个局部变量,比如[esp-4],然后把father_address+8赋值给[esp-4]再jmp?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)