⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patcher.asm

📁 window编程,非常的好
💻 ASM
字号:
;@GOTO TRANSLATE

.586P

.MODEL            FLAT, STDCALL

   OPTION         CASEMAP: NONE
   INCLUDE        WINDOWS.inc
   UNICODE        = FALSE
   INCLUDE        APIMACRO.mac

   INCLUDE        ApiHooks.inc

   INCLUDELIB     iKERNEL32.lib
   INCLUDELIB     iUSER32.lib

;------------------------------------------------------------------

.CODE
   DllMain:
    PUSHp    ESI, EDI
    DEC      FirstTime    ;work one time only
    JL       @F
    iWin32i  GetModuleHandle, NULL
    TEST     EAX, EAX
    JE       @F
    MOV      EDI, EAX
    ADD      EDI, PatchRVA
    PUSH     ECX
    iWin32   VirtualProtect, EDI, PatchSize, PAGE_READWRITE, ESP
    TEST     EAX, EAX
    POP      EDX
    JE       @F
    PUSHp    EDI, EDI
    MOV      ESI, OFFSET OrigValues
    MOV      ECX, PatchSize
    REPE     CMPSB
    POP      EDI
    JNE      ReturnPg
    MOV      ESI, OFFSET WantedValues
    MOV      ECX, PatchSize
    REP      MOVSB
   ReturnPg:
    POP      EDI
    PUSH     EAX
    iWin32   VirtualProtect, EDI, PatchSize, EDX, ESP
    POP      EAX
   @@:
    POPc     ESI, EDI
    MOV      EAX, TRUE
    RET      12

  ALIGN 4
  FirstTime    DWORD 1

  OrigValues   BYTE "X"
  WantedValues BYTE "u"
  PatchSize    EQU  SIZEOF OrigValues
  PatchRVA     EQU  103FH
;------------------------------------------------------------------
 BeginHooks      Patcher
 EndHooks
;------------------------------------------------------------------

END DllMain 

:TRANSLATE
@ECHO OFF
ML    /c /coff  /nologo Patcher.bat
LINK3 Patcher /nologo /DLL /EXPORT:Patcher,@1,NONAME /SUBSYSTEM:WINDOWS /MERGE:.idata=.text  /MERGE:.rdata=.text /SECTION:.text,WRE /IGNORE:4078,4086 /BASE:0X77100000
DEL   Patcher.obj
DEL   Patcher.exp
DEL   Patcher.lib

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -