www.pudn.com > API_VC_HOOK-.rar > AutoHook.asm


;@goto translate 
 
 
.586P 
 
.MODEL            FLAT, STDCALL 
 
   OPTION         CASEMAP: NONE 
 
   UNICODE        = 0 
   INCLUDE        WINDOWS.inc 
   INCLUDE        APIMACRO.mac 
 
   INCLUDELIB     iKERNEL32.lib 
   INCLUDELIB     iUSER32.lib 
 
   INCLUDE        ApiHooks.inc 
   INCLUDELIB     iApiHooks.lib 
 
 
.CODE 
 
 PrimaryThread PROC 
   iMOV      EBX, MessageBoxA 
   sWin32    EBX, NULL, smmsg, smTitle, MB_ICONINFORMATION 
   MOV       OrigMsgBoxA, EBX 
 
   iWin32    GetCurrentProcessId  
   iWin32i   EstablishApiHooks, OFFSET MsgBoxHook, EAX 
   TEST      EAX, EAX  
   JNE       Exit 
 
   iWin32i   MessageBox, NULL, smmsg, smTitle, MB_ICONINFORMATION 
 
  Exit: 
   iWin32    ExitProcess, STATUS_SUCCESS 
 PrimaryThread ENDP 
 
   TEXT      mTitle,     
   TEXT      mmsg,    
 
    NewMessageBoxA PROC hWnd, lpText, lpCaption, uType 
         TEST uType, MB_ICONINFORMATION 
         JE   @F 
         XOR  uType, MB_ICONINFORMATION OR MB_ICONEXCLAMATION 
        @@: 
         LEAVE 
         JMP  OrigMsgBoxA 
    NewMessageBoxA ENDP 
 
   TEXTA   USER32,  
   TEXTA   MessageBoxA,  
   OrigMsgBoxA DWORD 0 
 
  BeginHooks MsgBoxHook 
   API_HOOK  
   MkHook  HookMe, USER32, MessageBoxA, HOOK_BY_ADDRESS, NULL 
  EndHooks 
 
END PrimaryThread 
 
:translate 
@echo off 
ML    /c /coff /nologo AutoHook.bat 
LINK3 AutoHook /nologo   /IGNORE:4078 /SUBSYSTEM:WINDOWS /MERGE:.rdata=.text /SECTION:.text,EWR 
DEL   AutoHook.obj