sheds:本来就是这样的,还用你说呀
(发表于2008-3-27 22:01:00)
jink1025:__asm //__stdcall
{
stdcall_1:
push dword ptr [esp]; //保存(复制)返回地址到当前栈中
mov dword ptr [esp+4], -1; //将this指针送入栈中,即原来的返回地址处
mov eax, -2;
jmp eax; //跳转至目标消息处理函数(类成员函数)
stdcall_2:;
}
看上去是错的.
__stdcall 被调用者负责回收stack,你这里私自push了一次,函数返回后stack会出问题的吧
(发表于2008-3-31 9:38:00)
jink1025:哦,请忽略我前面的疑问,我错了,被调用函数被改过可以推平stack.
(发表于2008-3-31 9:44:00)
tgl10:很巧妙.
看着鬼斧神工,但只是对已存在的函数代码的调用而已,我对thunk技术究竟有没有实用价值表怀疑...
(发表于2008-6-13 14:21:00)
..........................................................................
--------------------next---------------------
阅读(242) | 评论(0) | 转发(0) |