Mit AutoIT Hacks schreiben mit Pointer!
=> Was wollen wir machen?
Wir wollen einen Hack programmieren z.b. für 4Story!
Der beim Drücken des On Buttons den Wert aus der Inputbox liest und sich die Farbe der Graphic auf Grün ändert. Beim drücken des Off Buttons ändert sich der Wert wieder auf den Ursprünglichen Wert.
=> Wie geht es los?
Mit einer einfachen GUI man kan aber auch Hacks programmieren ohne GUI aber ich zeige euch hier mit GUI.
Wir machen 1 Label, 2Buttons, 1Graphic, 1Inputbox.
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#RequireAdmin
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Speedhack", 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("Speedhack", 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 ###
Die Memory speichert die _Memory funktionen und das #Require ist gut für Vista.
=> Die Pointer:
Die werte der Pointer werden in den Variablen gespeichert:
PHP Code:
Dim $Speedhack[3]
$Speedhack[0]=0
$Speedhack[1]=0xA08
$Speedhack[2]= 0x9F6
=> Den Prozess und der BasePointer:
PHP Code:
$GamePid = ProcessExists ("TClient.exe")
$GameHandle = _MemoryOpen($GamePid1)
$BaseAdresse = 0x00686D04
So wir haben nun Die Memory Geöffnet.
=> Das Schreiben des Hacks...
Dies machen wir mit einer Funktion:
PHP Code:
Func _Speedhack()
_MemoryPointerWrite($BaseAdresse1,$GameHandle1,$Speedhack, GUICtrlRead($Input1))
GUICtrlSetBkColor($Graphic1, 65280)
EndFunc
_MemoryPointerWrite($die base adresse, $ den prozess, $die pointer, liest die Inputbox)
GUICTRLREAD ist gut um den Wert aus der inputbox rauszulesen
=> Wie weit sind wir?
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#RequireAdmin
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Speedhack", 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("Speedhack", 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 ###
$GamePid1 = ProcessExists ("TClient.exe")
$GameHandle1 = _MemoryOpen($GamePid1)
$BaseAdresse1 = 0x00686D04
Dim $Speedhack[3]
$Speedhack[0]=0
$Speedhack[1]=0xA08
$Speedhack[2]= 0x9F6
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _Speedhack()
_MemoryPointerWrite($BaseAdresse1,$GameHandle1,$Speedhack, GUICtrlRead($Input1))
GUICtrlSetBkColor($Graphic1, 65280)
EndFunc
=> Das drücken des Buttons und das Freezen der Adresse:
PHP Code:
Case $Button1
AdlibRegister("_Speedhack", 20)
PHP Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
=> Den Wert zurückschreiben und das Frezzen wegmachen:
PHP Code:
Case $Button2
AdlibUnRegister("_Speedhack")
_MemoryPointerWrite($BaseAdresse1,$GameHandle1,$Speedhack, 16230)
GUICtrlSetBkColor($Graphic1, 16711680)
Adlibunregister Bedeutet das er die Funktion ("_Speedhack") wieder Unfrezzen soll. Und nachdem er das gemacht hat soll er den wert auf 16230 setzten und die farbe der Graphic wieder auf Rot. das machen wir genauso wie auch beim Hochschreiben des Wertes.
=> Ende:
Unser Script solte jetzt so ausschauen:
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#RequireAdmin
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Speedhack", 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("Speedhack", 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 ###
$GamePid1 = ProcessExists ("TClient.exe")
$GameHandle1 = _MemoryOpen($GamePid1)
$BaseAdresse1 = 0x00686D04
Dim $Speedhack[3]
$Speedhack[0]=0
$Speedhack[1]=0xA08
$Speedhack[2]= 0x9F6
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
AdlibRegister("_Speedhack", 20)
Case $Button2
AdlibUnRegister("_Speedhack")
_MemoryPointerWrite($BaseAdresse1,$GameHandle1,$Speedhack, 16230)
GUICtrlSetBkColor($Graphic1, 16711680)
EndSwitch
WEnd
Func _Speedhack()
_MemoryPointerWrite($BaseAdresse1,$GameHandle1,$Speedhack, GUICtrlRead($Input1))
GUICtrlSetBkColor($Graphic1, 65280)
EndFunc
Ich hoffe das TuT hat euch gefallen und Weitergeholfen.
Freue mich auf Thanks.
Mfg,
italien1995