📄 test.asm
字号:
;**************************
;文件:Test.asm *
;功能:测试动态链接库 *
;**************************
.386P
Locals
.Model Flat ,StdCall
include win32.inc
extrn ExitProcess:PROC
extrn MessageBoxA:PROC
extrn LoadLibraryA:PROC
extrn FreeLibrary:PROC
extrn GetProcAddress:Proc
.Data
DllFileName db '..\DllDemo\DllDemo.dll',0
ProcName db 'MsgBox',0
TextSuc db '动态链接库安装成功!',0
TextErr db '动态链接库链接失败或函数找不到',0
TextExt db '退出进程',0
Caption db 'Test',0
TextDll db '测试DLL',0
hDll dd ?
.Code
Main:
call LoadLibraryA,offset DllFileName ;把DLL映射入进程空间
or eax,eax ;成功否?
jz Error
mov hDll,eax
call MessageBoxA,0, offset TextSuc,offset Caption,MB_OK
call GetProcAddress,[hDll],offset ProcName ;取MsgBox的地址
or eax,eax
jz Error
call eax,offset TextDll ;调用MsgBox
call FreeLibrary,[hDll] ;释放DLL
jmp Exit
Error:
call MessageBoxA,0, offset TextErr,offset Caption,MB_OK
Exit:
call MessageBoxA,0, offset TextExt,offset Caption,MB_OK
ret 10H
end Main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -