不要调用AfxMessageBox,因为mfc只是对api的封装。反汇编后显示的还是api。
例子:
char m[]="你成功了!!";
char n[]="恭喜!!";?
__asm {
mov ebx,esp //
PUSH? MB_OK OR MB_ICONINFORMATION
lea edx , m // 全局变量用 OFFSET
push edx
LEA EAX, n // 局部变量用 LEA
PUSH EAX
PUSH 0
jnz label1 //花指令
jz label1
_EMIT 0E8h
label1:
lea eax,[MessageBoxExA+4] //不直接调用MessageBoxExA
sub eax,4 CALL DWORD PTR [EAx] // eax为MessageBoxExA
mov esp,ebx //为了平衡堆栈,我也不知道为什么要,应该不要的,但不要不行
}
本文地址:http://com.8s8s.com/it/it28479.htm