ich versteh trotzdem nur Bahnhof...
Quote:
#RequireAdmin
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Pointer.au3>
$start="no"
$SelectedProcess="xxxx" ;<----KOmmt der Processname rein
$PID = ProcessExists("" & $SelectedProcess & "")
If $PID > 0 Then
$Handle = _MemoryOpen($PID)
$Address = _MemoryModuleGetBaseAddress(ProcessExists("" & $SelectedProcess & ""), "" & $SelectedProcess & "")
$Address = "0x" & Hex($Address + Dec("20AA1C")) ;<------Hier kommt die Addresse rein
Dim $Offset[2] = [0, 0x0E] ;<----Offsets (0 muss bleiben)
Else
MsgBox(1, "Fehler", "Der Prozess existiert nicht !")
EndIf
$x = _MemoryPointerRead($Address, $Handle, $Offset,"dword") ;<---- wenn es 4bytes sind dann dword wenn es 2 sind dann short
$savevalue= $x[1] ;Array weiß auch nicht warum xD
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 306, 112, 192, 124)
$Input1 = GUICtrlCreateInput(, 8, 16, 289, 21)
$Button1 = GUICtrlCreateButton("Ändern starten", 8, 48, 139, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Ändern stoppen", 160, 48, 139, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Standart", 8, 80, 291, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$start="yes"
Case $Button2
$start="no"
Case $Button3
_MemoryPointerWrite($Address,$Handle,$Offset,$save value,"dword") ;<---- wenn es 4bytes sind dann dword wenn es 2 sind dann short
EndSwitch
If $start ="yes" Then
starten()
EndIf
WEnd
Func starten ()
_MemoryPointerWrite($Address,$Handle,$Offset,GUICt rlRead($Input1),"dword")
EndFunc