Just put the file in your warcraft directory.
This disables the limitation that prevents you from saving more than once. Only downside is, everybody needs to do it, otherwise the client will disconnect if someone saves for the second time.
Basically it only writes 9 NOPs to game.dll+43F088 if you want to do it yourself.
Here is the FASM source if you're interested.
This disables the limitation that prevents you from saving more than once. Only downside is, everybody needs to do it, otherwise the client will disconnect if someone saves for the second time.
Basically it only writes 9 NOPs to game.dll+43F088 if you want to do it yourself.
Here is the FASM source if you're interested.
Code:
; UnlimitedSave
format PE GUI 4.0 DLL
entry DllEntryPoint
include 'win32a.inc'
section '.code' code readable executable
proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
cmp [fdwReason],DLL_PROCESS_ATTACH
jne @f
invoke GetModuleHandle,gamedll
add eax,43F088h
mov ebx,dword eax
invoke GetCurrentProcess
invoke WriteProcessMemory, eax, ebx, patch, 9, byteswritten
@@:
mov eax,TRUE
ret
endp
section '.data' data readable writeable
gamedll db 'game.dll',0
patch db 90h,90h,90h,90h,90h,90h,90h,90h,90h
byteswritten dd 0
section '.idata' import data readable writeable
library kernel,'KERNEL32.DLL'
import kernel,\
GetModuleHandle,'GetModuleHandleA',\
GetCurrentProcess,'GetCurrentProcess',\
WriteProcessMemory,'WriteProcessMemory'
section '.reloc' fixups data readable discardable