.486
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
.data
Space db " ",0
App db "Error",0
Err1 db " not found",0
App2 db "(3.3) Loader by bafoed (ASM)",0
Err2 db "Патчинг успешно завершен :)",0
prog db "VkObmen.exe",0
va1 DWORD 5753576
va2 DWORD 5753577
va3 DWORD 5753683
va4 DWORD 5753684
bufwr1 DWORD 144
bufwr2 DWORD 144
bufwr3 DWORD 144
bufwr4 DWORD 144
.data?
Buffer dd 1024 dup (?)
B1 dd 1024 dup (?)
B2 dd 1024 dup (?)
B3 dd 1024 dup (?)
B4 dd 1024 dup (?)
B5 dd 1024 dup (?)
bufr dw ?
pinfo PROCESS_INFORMATION <>
sinfo STARTUPINFO <>
n DWORD ?
.code
start:
invoke GetCL, 1, ADDR B1
invoke GetCL, 2, ADDR B2
invoke GetCL, 3, ADDR B3
invoke GetCL, 4, ADDR B4
invoke GetCL, 5, ADDR B5
INVOKE lstrcat, ADDR Buffer, Addr prog
INVOKE lstrcat, ADDR Buffer, Addr Space
INVOKE lstrcat, ADDR Buffer, Addr B1
INVOKE lstrcat, ADDR Buffer, Addr Space
INVOKE lstrcat, ADDR Buffer, Addr B2
INVOKE lstrcat, ADDR Buffer, Addr Space
INVOKE lstrcat, ADDR Buffer, Addr B3
INVOKE lstrcat, ADDR Buffer, Addr Space
INVOKE lstrcat, ADDR Buffer, Addr B4
INVOKE lstrcat, ADDR Buffer, Addr Space
INVOKE lstrcat, ADDR Buffer, Addr B5
invoke CreateProcess,NULL, ADDR Buffer, NULL,
NULL, TRUE, NULL, NULL, NULL,addr sinfo,addr pinfo
.IF eax == 0
mov Buffer, " "
INVOKE lstrcat, ADDR Buffer, Addr prog
INVOKE lstrcat, ADDR Buffer, Addr Err1
invoke MessageBox,NULL,addr Buffer,addr App,MB_ICONERROR
invoke ExitProcess,0
.ENDIF
.WHILE TRUE
invoke ReadProcessMemory,pinfo.hProcess,va1,addr bufr,1,n
.IF eax != 0
.IF bufr != 00h
invoke SuspendThread,addr pinfo.hThread
invoke WriteProcessMemory,pinfo.hProcess,va1,addr bufwr1,1,n
invoke WriteProcessMemory,pinfo.hProcess,va2,addr bufwr2,1,n
invoke WriteProcessMemory,pinfo.hProcess,va3,addr bufwr3,1,n
invoke WriteProcessMemory,pinfo.hProcess,va4,addr bufwr4,1,n
invoke ResumeThread,addr pinfo.hThread
invoke CloseHandle,pinfo.hThread
invoke MessageBox,NULL,addr Err2,addr App2,MB_ICONINFORMATION
invoke ExitProcess,0
.ENDIF
.ENDIF
.ENDW
end start |