[HOW TO] Mit AutoIT Hacks schreiben mit Pointer!

08/05/2010 11:41 Italien...Donni#1
<<TUTORIAL>>
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"25336200122)
$Button1 GUICtrlCreateButton("On"16082517$WS_GROUP)
GUICtrlSetFont(-184000"Palatino Linotype")
$Button2 GUICtrlCreateButton("Off"19282517$WS_GROUP)
GUICtrlSetFont(-184000"Palatino Linotype")
$Input1 GUICtrlCreateInput(""8087319)
GUICtrlSetFont(-164000"Palatino Linotype")
$Label1 GUICtrlCreateLabel("Speedhack"885820)
GUICtrlSetFont(-184000"Palatino Linotype")
$Graphic1 GUICtrlCreateGraphic(22482517)
GUICtrlSetColor(-10x000000)
GUICtrlSetBkColor(-10xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ### 
Ihr müsst oben #include <NomadMemory.au3> und #RequireAdmin eingeben.
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 
so definieren wir die Pointer.

=> Den Prozess und der BasePointer:
PHP Code:
$GamePid ProcessExists ("TClient.exe")
$GameHandle _MemoryOpen($GamePid1)
$BaseAdresse 0x00686D04 
Die adressen findet ihr durch Cheat Engine.
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,$SpeedhackGUICtrlRead($Input1))
    
GUICtrlSetBkColor($Graphic165280)
EndFunc 
Mit MemoryPointerWrite schreibt man die werte. also sagen wir
_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"25336200122)
$Button1 GUICtrlCreateButton("On"16082517$WS_GROUP)
GUICtrlSetFont(-184000"Palatino Linotype")
$Button2 GUICtrlCreateButton("Off"19282517$WS_GROUP)
GUICtrlSetFont(-184000"Palatino Linotype")
$Input1 GUICtrlCreateInput(""8087319)
GUICtrlSetFont(-164000"Palatino Linotype")
$Label1 GUICtrlCreateLabel("Speedhack"885820)
GUICtrlSetFont(-184000"Palatino Linotype")
$Graphic1 GUICtrlCreateGraphic(22482517)
GUICtrlSetColor(-10x000000)
GUICtrlSetBkColor(-10xFF0000)
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,$SpeedhackGUICtrlRead($Input1))
    
GUICtrlSetBkColor($Graphic165280)
EndFunc 
so ähnlich solte euer Script jetzt ausschauen.

=> Das drücken des Buttons und das Freezen der Adresse:

PHP Code:
Case $Button1
            AdlibRegister
("_Speedhack"20
Das fügen wir nach dem ein:
PHP Code:
While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit 
Adlibregister ist gut um den programm zu sagen das er die Funktion aufrufen soll und in unseren Falle alle 20 millisekunden.

=> Den Wert zurückschreiben und das Frezzen wegmachen:
PHP Code:
Case $Button2
            AdlibUnRegister
("_Speedhack")
            
_MemoryPointerWrite($BaseAdresse1,$GameHandle1,$Speedhack16230)
            
GUICtrlSetBkColor($Graphic116711680
Das kommt unter dem Case $Button1.
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"25336200122)
$Button1 GUICtrlCreateButton("On"16082517$WS_GROUP)
GUICtrlSetFont(-184000"Palatino Linotype")
$Button2 GUICtrlCreateButton("Off"19282517$WS_GROUP)
GUICtrlSetFont(-184000"Palatino Linotype")
$Input1 GUICtrlCreateInput(""8087319)
GUICtrlSetFont(-164000"Palatino Linotype")
$Label1 GUICtrlCreateLabel("Speedhack"885820)
GUICtrlSetFont(-184000"Palatino Linotype")
$Graphic1 GUICtrlCreateGraphic(22482517)
GUICtrlSetColor(-10x000000)
GUICtrlSetBkColor(-10xFF0000)
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,$Speedhack16230)
            
GUICtrlSetBkColor($Graphic116711680)

    EndSwitch
WEnd


Func _Speedhack
()
    
_MemoryPointerWrite($BaseAdresse1,$GameHandle1,$SpeedhackGUICtrlRead($Input1))
    
GUICtrlSetBkColor($Graphic165280)
EndFunc 
Einmal testen ob es geht und Fertig.


Ich hoffe das TuT hat euch gefallen und Weitergeholfen.
Freue mich auf Thanks.
Mfg,
italien1995
08/05/2010 11:43 No Chance#2
schön schön ^^
08/05/2010 11:43 Dark-Earth#3
thx for TUT
08/06/2010 11:33 mstheskater#4
Jo gute arbeit!!
08/06/2010 11:38 Wommel41#5
ist eigentl sowieso für 4story gemacht oder?^^

aber trotzdem gute arbeit
08/06/2010 12:01 G0dM0de#6
Gutes tut ich Versuchs gleich mal :)
08/06/2010 21:09 v0lle#7
Nice TuT ;)
08/06/2010 21:11 HardCore.1337#8
Auch wenn ich es schon lange kenne gefällt es mir sehr gut.
08/06/2010 22:11 PenGuin :O#9
Abgesehen davon, dass es AutoIt heißt...
(hat nichts mit IT zutun, es kommt von "Automatisiere es")

ist es recht gut geworden ;)
08/07/2010 08:41 Jay Niize#10
nice nice! Hab ich noch nicht gewusst :P

#Added to List
08/07/2010 11:30 Italien...Donni#11
Danke:=)
08/08/2010 18:16 Sintexez#12
PHP Code:
Dim $Speedhack[3]
$Speedhack[0]=0
$Speedhack
[1]=0xA08
$Speedhack
[2]= 0x9F6 
ich verstehe das bei [1] und [2] nicht was bewirkt das?
08/08/2010 21:01 Drackeen#13
Cool, Jez kenn ich mich wenigstens einbisschen aus xD Danke dir :)
08/09/2010 13:35 *-_JuLi²_-*#14
bei mir wird die Flache beim ON drücken nicht Grün sondern der ganze Hack verschwindet
08/10/2010 21:26 Double-Q#15
Quote:
PHP-Code:
Dim $Speedhack[3]
$Speedhack[0]=0
$Speedhack[1]=0xA08
$Speedhack[2]= 0x9F6
ich verstehe das bei [1] und [2] nicht was bewirkt das?
Die Variable $Speedhack ist ein --> [Only registered and activated users can see links. Click Here To Register...] mit 3 Werten. Die Werte sind in diesem Fall die Offsets des Pointers.

Hope it helps u