The Immortal Descendants |
||
|
Level: Beginner |
Date: Aug. 14, 2000 |
|
Training Arkanoid 2000 v1.5 |
||
| by Muad'Dib | The Immortal Descendants |
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
MainDialog PROTO :DWORD,:DWORD,:DWORD,:DWORD
.data
OFFS_Points dd 442F1Ch
OFFS_Balls dd 444AAAh
ArkanoidWindow db "Arkanoid2000",0
Error_NoRun db "Arkanoid 2000 is not running...",0
Error_Write db "Error writing process memory!",0
Error db "ERROR:",0
About_Title db "About...",0
About db "Arkanoid 2000 v1.5 +2 Trainer by Muad'Dib/KNiFE",0dh,0ah,0dh,0ah
db "Greetings to OPTiCaL, Carpathia, CrackZ, sinn0r,",0dh,0ah
db "everyone in Pravus/Immortal Descendants and",0dh,0ah
db "everyone I know",0dh,0ah,0dh,0ah
db "-Muad'Dib / Aug. 4, 2000",0
.data?
hWnd_Arkanoid dd ?
pid_Arkanoid dd ?
process_Handle dd ?
number dd ?
hInst dd ?
.code
main:
invoke GetModuleHandle, 0
mov hInst, eax
invoke DialogBoxParam, hInst, 1, 0, OFFSET MainDialog, 0
MainDialog PROC hWnd:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD
.if uMsg == WM_INITDIALOG
invoke FindWindow, 0, OFFSET ArkanoidWindow
.if eax == 0
invoke MessageBox, 0, OFFSET Error_NoRun, OFFSET Error, 0
invoke EndDialog, hWnd, 0
ret
.endif
mov hWnd_Arkanoid, eax
invoke GetWindowThreadProcessId, hWnd_Arkanoid, OFFSET pid_Arkanoid
invoke OpenProcess, PROCESS_ALL_ACCESS, 0, dword ptr [pid_Arkanoid]
mov process_Handle, eax
.elseif uMsg == WM_COMMAND
mov eax, wParam
.if eax == 100
invoke GetDlgItemInt, hWnd, 300, 0, 0
mov number, eax
invoke WriteProcessMemory, process_Handle, OFFS_Balls, OFFSET number, 4, 0
.if eax == 0
invoke MessageBox, 0, OFFSET Error_Write, OFFSET Error, 0
invoke EndDialog, hWnd, 0
ret
.endif
.elseif ax == 101
invoke GetDlgItemInt, hWnd, 301, 0, 0
mov number, eax
invoke WriteProcessMemory, process_Handle, OFFS_Points, OFFSET number, 4, 0
.if eax == 0
invoke MessageBox, 0, OFFSET Error_Write, OFFSET Error, 0
invoke EndDialog, hWnd, 0
ret
.endif
.elseif ax == 102
invoke ExitProcess, 0
ret
.elseif ax == 103
invoke MessageBox, hWnd, OFFSET About, OFFSET About_Title, 0
.endif
.elseif uMsg == WM_CLOSE
invoke EndDialog, hWnd, 0
.endif
ret
MainDialog ENDP
end main