;-===========================================================-; ;-==================GTA 3 Trainer============================-; ;-==================Written With FASM========================-; ;-==================By Lugz==================================-; ;-===========================================================-; ; Credits - _masta_ format PE GUI 4.0 entry start include 'C:\Documents and Settings\FeliaMyazz\Desktop\fasmw167\INCLUDE\win32a.inc' PROCESS_VM_WRITE equ 020h ; Flags for the write-access PROCESS_VM_OPERATION equ 008h ; to the process money_pos = 0094139Ch ; data begins section '.data' data readable writeable caption db "GTA 3 Trainer",0 text db "This Trainer Increases Your Money By 999,999",13,10 db "Credits are RedGhost and _masta_",13,10,0 err_cap db "ERROR",0 ; caption for error messages notrun db "Sorry, GTA 3 Is Not Running",0 ; error if process isnt running no_write db "A Problem by writing",13,10 db "to GTA 3's memory",13,10,0 readycap db "Ready",0 ; caption for ready readytxt db "Now Your Money Is Increased By 999,999",0 ; text for ready money_v dd 999999 ; how much do you want nopage dd 0x90 wnd_name db "GTA3",0 ;name of GTA 3 Window cls_name db "Grand theft auto 3",0 ; class of the window pid_sc dd ? ; Here we save the PID ... p_hand dd ? ; and here the handle to the ; process ;---------------------------------------------------------------- section '.code' code readable executable start: invoke MessageBox,HWND_DESKTOP,text,caption,0 is_RUN: ; find window handle with window class and name invoke Sleep,5 ; doing this lessens the cpu usage invoke FindWindow,0,wnd_name cmp eax,0 ; if 0, window is not existing jz isnt_run_end; -->Game is not launched invoke GetWindowThreadProcessId,eax,[pid_sc] open_the_process: ; Get handle of the game invoke OpenProcess,PROCESS_VM_WRITE OR PROCESS_VM_OPERATION,0,[pid_sc] mov [p_hand],eax ; Save handle to p_hand increase_money: ; increase the money invoke WriteProcessMemory,[p_hand],money_pos,money_v,4,0 cmp eax,0 jz error_on_write ; If any error while writing (eax=0) -> end Trainer_ready: invoke MessageBox,0,readycap,readytxt,0 ;everything OK close_the_PID_Handle: invoke CloseHandle,[p_hand] jmp end_ ; Go to End error_on_write: invoke MessageBox,0,no_write,err_cap,0 jmp close_the_PID_Handle ; Close handle before quit isnt_run_end: invoke MessageBox,0,notrun,err_cap,0 end_: invoke ExitProcess,0 ;----------------------------------------------------------------- section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL' include 'C:\Documents and Settings\FeliaMyazz\Desktop\fasmw167\INCLUDE\apia\kernel32.inc' include 'C:\Documents and Settings\FeliaMyazz\Desktop\fasmw167\INCLUDE\apia\user32.inc' ; .:-================GREETZ================-:. ; .:-Dane,RedGhost,Tomasz Grysztar,Rockstar-:. ; .:-======================================-:.