首页 > 代码库 > 最简单的Windows程序

最简单的Windows程序

准备研究一下vmp 保护,从一个最简单的Windows程序入手似乎是个不错的想法。

怎样才最简单呢,只有一个MessageBox 调用好了。

弹出消息,退出,哦也,够简单吧。

祭出法器VC2010,新建win32 项目,

#include "stdafx.h"

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
 MessageBox(NULL, L"Smallest", L"smallest", MB_OK);
 return 0;
}
Release 模式编译生成,OD调试跟踪之。

矮油,太臃肿了!

寻回失落的法器masm32,哇哦,都v11了!

找个simple example,瘦身,再瘦...

; ?
      .486                      ; create 32 bit code
      .model flat, stdcall      ; 32 bit memory model
      option casemap :none      ; case sensitive

      include \masm32\include\windows.inc
      include \masm32\include\kernel32.inc
      include \masm32\include\user32.inc

      includelib \masm32\lib\kernel32.lib
      includelib \masm32\lib\user32.lib

    .const
szTitle     db ‘Smallest‘, 0
szMessage   db ‘smallest‘, 0

    .code
; ?

start:

      invoke MessageBox, NULL, addr szMessage, addr szTitle, MB_OK

      invoke ExitProcess,eax

; ?

end start

好了,build all,恩,这才是最简单的Windows 程序吧,:-)