mam i pointer i ofset adres dynamiczny specjalnie jeszce sprawdzam na CE game.exe=przyklad gry a nie konkretnie diablo bo dia to nie jest
calu krotki kodzik. na ktorym widac wszystko
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Memory.au3>
#include <NomadMemory.au3>
#RequireAdmin
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("hack", 253, 36, 200, 122)
$Button1 = GUICtrlCreateButton("On", 160, 8, 25, 17, $WS_GROUP)
GUICtrlSetFont(-1, 8, 400, 0, "Palatino Linotype")
$Button2 = GUICtrlCreateButton("Off", 192, 8, 25, 17, $WS_GROUP)
GUICtrlSetFont(-1, 8, 400, 0, "Palatino Linotype")
$Input1 = GUICtrlCreateInput("", 80, 8, 73, 19)
GUICtrlSetFont(-1, 6, 400, 0, "Palatino Linotype")
$Label1 = GUICtrlCreateLabel("hack", 8, 8, 58, 20)
GUICtrlSetFont(-1, 8, 400, 0, "Palatino Linotype")
$Graphic1 = GUICtrlCreateGraphic(224, 8, 25, 17)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetBkColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $Open_Process_ = _MemoryOpen(ProcessExists("przkladowa_gra.exe"))
Global $Baseadresse = 0xprzykladowy_dares_bazowy ;adres podstawowy basowy
Dim $hack[3]
$hack[0] = 0
$hack[1] = 0xtakisobie_pointer1; pointer
$hack[2] = 0xtakisobie_pointer2
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
AdlibRegister("_hack1", 20)
;GUICtrlSetBkColor($Graphic1, 65280)
_MemoryClose($Open_Process_)
;_Casten()
Case $Button2
AdlibUnRegister("_hack1")
_MemoryPointerWrite($Baseadresse,$Open_Process_,$hack, wartosc_podstawowa)
_MemoryClose($Open_Process_)
;GUICtrlSetBkColor($Graphic1, 16711680)
EndSwitch
WEnd
Func _hack1()
_MemoryPointerWrite($Baseadresse,$Open_Process_,$hack, wartosc_zmieniona)
EndFunc
Func _Casten()
ControlSend("jaks_tam_sobie_gra", "", 0, "{F12}")
EndFunc