home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Tools / ApiHooks 2.2 / examples / ASM / alternative / AlternativeDLL.bat < prev    next >
Encoding:
DOS Batch File  |  2000-04-04  |  1.8 KB  |  63 lines

  1. ;@GOTO TRANSLATE
  2.  
  3. .586P
  4.  
  5. .MODEL             FLAT, STDCALL
  6.  
  7.    OPTION          CASEMAP: NONE
  8.    INCLUDE         WINDOWS.inc
  9.    UNICODE         = TRUE
  10.    INCLUDE         APIMACRO.mac
  11.  
  12.    INCLUDE         ApiHooks.inc
  13.  
  14.    INCLUDELIB      iKERNEL32.lib
  15.    INCLUDELIB      iUSER32.lib
  16.  
  17.    INCLUDELIB      iApiHooks.lib
  18.  
  19. .DATA?
  20.    Exclude           DWORD ?         ;null terminated automatically
  21.  
  22.  
  23. ;------------------------------------------------------------------
  24.  
  25. .CODE
  26.  
  27.   DllMain:
  28.                    CMP      DWORD PTR [ESP+8], DLL_PROCESS_ATTACH
  29.                    JNE      @F
  30.                    PUSH     [ESP+4]  ;hinstDLL
  31.                    POP      Exclude  ;exclude me (my MessageBoxW)
  32.                    iWin32   GetCurrentProcessId
  33.                    iWin32i  EstablishApiHooks, OFFSET Dynamic, EAX
  34.                  @@:
  35.                    MOV      EAX, TRUE
  36.                    RETN     12
  37.  
  38. ;------------------------------------------------------------------
  39.   NewMessageBoxA   PROC    p1, p2, p3, p4 
  40.                    iWin32  MessageBoxA, p1, sUnhookMsg, p3, p4
  41.                    RET
  42.   NewMessageBoxA   ENDP
  43.  
  44.                    TEXTA   UnhookMsg, <From DLL/0>   
  45.  
  46. ;names-------------------------------------------------------------
  47.                    TEXTA   USER32, <USER32.dll/0> 
  48.                    TEXTA   MessageBoxA, <MessageBoxA/0> 
  49.  BeginHooks        Dynamic
  50.   API_HOOK         <HOOKS_DYNAMIC, 0, 0, 0, Exclude, 0>
  51.   MkHook         , USER32, MessageBoxA
  52.  EndHooks
  53. ;names-------------------------------------------------------------
  54.  
  55. END  DllMain
  56.  
  57. :TRANSLATE
  58. @ECHO OFF
  59. ML    /c /coff  /nologo AlternativeDLL.bat
  60. eLINK AlternativeDLL /nologo /DLL /OUT:Alternative.dll /SUBSYSTEM:WINDOWS /MERGE:.idata=.text /MERGE:.rdata=.text /SECTION:.text,EWR /IGNORE:4078,4086 /BASE:0X77300000
  61. DEL   AlternativeDLL.obj
  62. PAUSE
  63. CLS