NASM import win32api
发布日期:2021-06-30 22:06:16 浏览次数:2 分类:技术文章

本文共 2346 字,大约阅读时间需要 7 分钟。

找到些资料, 现在可以在nasm工程中引入win32api了.

应该说, nasm的编译环境已经准备好了.

; import_api.asmBITS 32; %include "C:\nasm\include\win32n.inc"MB_OK equ 0hextern printfimport printf MSVCRT.DLL	extern MessageBoxAimport MessageBoxA user32.dll; extern ExitProcess; import ExitProcess kernel32.dllsegment .data USE32msg db "nasm : import_api", 0hfmt_msg db "%s", 0htitle db "hello",0message db "hello world",0segment .bss USE32; var1 resb 32segment .code USE32..start:; 用(NASM + AlINK)生成的工程和(NASM + MINGW_GCC)生成的工程差好多; 用OD加载后, 可以看到(NASM + AlINK)生成的工程和我们手写的一样; 而(NASM + MINGW_GCC)生成的工程入口处有很多前置的代码; 如果要向控制台写信息, 不能用printf; 必须用GetStdHandle系列API, 否则报错, 可能是C运行时库没有初始化导致; https://msdn.microsoft.com/en-us/library/ms683231.aspx; https://msdn.microsoft.com/en-us/library/ms687401.aspx;	push msg;	push fmt_msg;	call printf;	add esp, 8push dword MB_OKpush dword titlepush dword messagepush dword 0call [MessageBoxA]; push dword 0; call [ExitProcess]xor eax, eaxret
; go.batclsdel F:\nasm_prj\src\import_api\*.objdel F:\nasm_prj\src\import_api\*.exeecho offrem 如果工程中要引入Dll的API, nasm 要使用 -f obj 生成 o.objrem section .data use32, section .bss use32, section .text use32rem 然后使用 ALINK 生成exerem 如果不这样, 编译不过echo onc:\nasm\nasm.exe -fobj F:\nasm_prj\src\import_api\import_api.asmc:\nasm\alink\alink.exe -c -oPE -subsys con F:\nasm_prj\src\import_api\import_api.obj; 如果要生成纯win32窗口工程 -subsys gui 或者 -subsys win; c:\nasm\alink\alink.exe -c -oPE -subsys gui F:\nasm_prj\src\import_api\import_api.objF:\nasm_prj\src\import_api\import_api.exe

NASM编译环境需要NASM, WINGW_GCC, ALINK, WIN32N.INC, 调试用OD(需要在Win7X64下能调试X86PE的那种)

NASM编译环境下载点: 

C:\NASM├─ALINK├─contrib│  └─VSrules├─include├─MinGW│  ├─bin│  ├─lib│  │  └─gcc│  │      └─mingw32│  │          └─4.6.2│  ├─libexec│  │  └─gcc│  │      └─mingw32│  │          └─4.6.2│  └─mingw32│      └─bin├─MinGW64│  ├─bin│  ├─include│  │  └─gdb│  ├─lib│  │  └─gcc│  │      └─x86_64-w64-mingw32│  │          └─4.8.1│  ├─libexec│  │  └─gcc│  │      └─x86_64-w64-mingw32│  │          └─4.8.1│  ├─opt│  │  ├─bin│  │  └─lib│  │      └─python2.7│  │          └─encodings│  ├─share│  │  └─gdb│  │      ├─python│  │      │  └─gdb│  │      │      ├─command│  │      │      └─function│  │      └─syscalls│  └─x86_64-w64-mingw32│      ├─bin│      └─lib├─OD│  ├─LIB│  ├─OdWin7X64插件补丁│  ├─plugin│  ├─tools│  │  ├─HideToolz│  │  └─xidt│  ├─UDD│  └─原版│      ├─汉化原版│      └─英文原版└─rdoff

转载地址:https://lostspeed.blog.csdn.net/article/details/47272971 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:禁止 WM_DROPFILES
下一篇:NASM : hello world

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月17日 18时24分48秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章