📄 alternative2dll.bat
字号:
;@GOTO TRANSLATE
.586P
.MODEL FLAT, STDCALL
OPTION CASEMAP: NONE
INCLUDE WINDOWS.inc
UNICODE = TRUE
INCLUDE APIMACRO.mac
INCLUDE ApiHooks.inc
INCLUDELIB iKERNEL32.lib
INCLUDELIB iUSER32.lib
INCLUDELIB iApiHooks.lib
.DATA?
Exclude DWORD ?, ? ;null terminated by windows
;------------------------------------------------------------------
.CODE
DllMain:
CMP DWORD PTR [ESP+8], DLL_PROCESS_ATTACH
JNE @F
PUSH [ESP+4] ;hinstDLL
POP Exclude ;exclude me (my MessageBoxA)
iWin32i HookApi, sUSER32, sMessageBoxA, HOOK_ALL, ALL_MODULES,\
NULL, OFFSET NewMessageBoxA, OFFSET Exclude
@@:
MOV EAX, TRUE
RETN 12
;------------------------------------------------------------------
NewMessageBoxA PROC p1, p2, p3, p4
iWin32 MessageBoxA, p1, sUnhookMsg, p3, p4
RET
NewMessageBoxA ENDP
TEXTA UnhookMsg, <From DLL/0>
;names-------------------------------------------------------------
TEXT USER32, <USER32.dll/0>
TEXT MessageBoxA, <MessageBoxA/0>
;names-------------------------------------------------------------
END DllMain
:TRANSLATE
@ECHO OFF
ML /c /coff /nologo Alternative2DLL.bat
eLINK Alternative2DLL /nologo /DLL /OUT:Alternative.dll /SUBSYSTEM:WINDOWS /MERGE:.idata=.text /MERGE:.rdata=.text /SECTION:.text,EWR /IGNORE:4078,4086 /BASE:0X77300000
DEL Alternative2DLL.obj
PAUSE
CLS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -