// VM.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <windows.h>
int main(int argc, char* argv[])
{
//MessageBox(NULL,"lpText","lpCaption",MB_OK);
char *lpCation = "VM";
char *lpText = "Hello world";
__asm
{
push MB_OK
mov eax,lpCation
push eax
mov eax,lpText
push eax
push 0
call dword ptr[MessageBoxA]
}
return 0;
}
反汇编:
00401010 >|> \55 push ebp
00401011 |. 8BEC mov ebp, esp
00401013 |. 83EC 48 sub esp, 48
00401016 |. 53 push ebx
00401017 |. 56 push esi
00401018 |. 57 push edi
00401019 |. 8D7D B8 lea edi, dword ptr [ebp-48]
0040101C |. B9 12000000 mov ecx, 12
00401021 |. B8 CCCCCCCC mov eax, CCCCCCCC
00401026 |. F3:AB rep stos dword ptr es:[edi]
00401028 |. C745 FC 2C204>mov dword ptr [ebp-4], 0042202C ; ASCII "VM"
0040102F |. C745 F8 1C204>mov dword ptr [ebp-8], 0042201C ; ASCII "Hello world"
00401036 |. 6A 00 push 0 ; /Style = MB_OK|MB_APPLMODAL
00401038 |. 8B45 FC mov eax, dword ptr [ebp-4] ; |
0040103B |. 50 pu