Also, wie der Name schon sagt werde ich in diesem Tutorial ausführlich die
Pixelfunktionen und den Umgang mit Memoriewerten erläutern, da ja einige
Leute große Schwierigkeiten damit haben, außerdem erhoffe ich mir damit weniger
gebannte accounts durch simple Send-Bots
Was braucht ihr um dieses Tutorial zu verstehen?
-Grundkenntnisse in AutoIT
-Deutsch
-Gesunden Menschenverstand
Gliederung
Code:
-Pixelsearch -PixelGetColor -Was sind Memories? -Wie finde ich diese heraus? -Wie benutze ich meine gefundenen Memories?
Nun, dann fangen wir mal mit der Funktion "PixelSearch" an.
PixelSearch kann man für viele Sachen verwendet, auf dem komplizierten Weg für Wayouts,
oder mal nicht auf Guild Wars bezogen, z.B. einen Aimbot für "RapidFire2"
Wenn wir in der AutoIT-Hilfe nachschlagen sehen wir
Code:
PixelSearch ( left, top, right, bottom, color [, shade-variation [, step [, hwnd]]] )
Code:
left = x1 [ x Koordinate der oberen linken Ecke ] top = y1 [ y Koordinate der oberen linken Ecke ] right = x2 [ x Koordinate der unteren rechten Ecke ] bottom = y2 [ x Koordinate der unteren rechten Ecke ]
Code:
color = Farbe [Die Farbe nach der gesucht werden soll] shadevariation = Farben Variation [ Unterschied der Farbtöne ] step = Anzahl der zu überspringenden Pixel beim suchen hwnd = Handle vom Fenster, meiner meinung nach Sinnlos weil das im Hintergrund trotzdem nicht läuft
Ist garnicht so schwer..
Wir erstellen uns ein neues *.au3 Skript, dieses nennen wir mal "AimBot"
Dieses können wir vorerst schließen oder minimieren, jetzt öffnen wir Windows Paint.
Ich gehe mal davon aus das das jeder hat.
jetzt nehmen wir die Sprühpistole und machen in verschiedenen Farben ausgemalte Punkte ins Bild.
Jetzt speichern wir das Bild unter "Farbe.jpg".
Bei mir sieht das ganze so aus.
Nun gehen wir zurück ins Au3 Skript und erstellen uns ein simples GUI
mit Buttons, diesen Buttons weisen wir jeweils einen Namen der erstellen Farbe aus dem Bild zu, vielleicht dem Button noch ne Farbe geben. Bei mir sieht das ganze so aus:
Im Skript machen wir die Includes nach ganz oben.. dies müsste dann so aussehen - nachdem wir Nomad noch hinzugefügt haben
PHP Code:
;-Dateien mit einbeziehen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#include-once
Nun legen wir uns einen HotKey zum beenden.
PHP Code:
;-Hotkeys Belegen
HotKeySet("{End}", "Ende")
;-Ende
Func Ende()
Exit
EndFunc ;==>Ende
PHP Code:
;-Farben
$gruen = 0x1DB350
$blau = 0x10AFF1
$violet = 0x723091
$grau = 0xDCDCDC
$rot = 0xEC201F
$orange = 0xFFBB17
$schwarz = 0x464646
$rosa = 0xFF9CB8
Dazu öffnen wir es, und schauen mit der WindowInfo nach wo sich diese befinden und schreiben sie in unser Skript. Sieht bei mir wie folgt aus:
PHP Code:
;-Koordinaten
$x1 = 418
$y1 = 173
$x2 = 1020
$y2 = 671
Diese soll die Parameter "Farbe" und "shade" haben.
Außerdem wissen wir das die Funktion mit der Maus zielen soll,
Also nennen wir sie einfach mal "AimTo"
PHP Code:
Func AimTo($Farbe, $shade)
Dadurch das wir uns soviele Variablen deklariert haben, haben wir nun
den Vorteil das wir die Pixelsearch mit ihren eigenen Parametern angeben können. Nicht vergessen ihr eine Variable zuzuweisen, sonst wirds nix mit der Fehleranalyse
PHP Code:
Func AimTo($Farbe, $shade)
$PS = PixelSearch($x1, $y1, $x2, $y2, $Farbe, $shade)
Dies kann man auf mehrere wegen lösen, entweder mit (@error), oder aber mit IsArray. In diesem Fall werde ich es mit IsArray machen.
PHP Code:
Func AimTo($Farbe, $shade)
$PS = PixelSearch($x1, $y1, $x2, $y2, $Farbe, $shade)
If IsArray($PS) = 1 Then
Nun also das was kommt.
Wenn wir in der AutoIT Hilfe nachgucken, sehen wir den Rückgabewert von PixelSearch.
Code:
Return Value Success: Returns a two-element array of pixel's coordinates. (Array[0] = x, Array[1] = y) Failure: Sets @error to 1 if color is not found.
Also:
PHP Code:
Func AimTo($Farbe, $shade)
$PS = PixelSearch($x1, $y1, $x2, $y2, $Farbe, $shade)
If IsArray($PS) = 1 Then
MouseMove($PS[0], $PS[1])
EndIf
EndFunc
Wir wollen, das wenn wir unser Skript starten, sich gleichzeitig das Bild öffnet..
ShellExecute ist hier die Lösung
PHP Code:
ShellExecute("Farbe.jpg")
Code:
;-Dateien mit einbeziehen #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <NomadMemory.au3> #include-once ;-Hotkeys Belegen HotKeySet("{End}", "Ende") ;-Farben $gruen = 0x1DB350 $blau = 0x10AFF1 $violet = 0x723091 $grau = 0xDCDCDC $rot = 0xEC201F $orange = 0xFFBB17 $schwarz = 0x464646 $rosa = 0xFF9CB8 ;-Koordinaten $x1 = 418 $y1 = 173 $x2 = 1020 $y2 = 671 ;-Ende Func Ende() Exit EndFunc ;==>Ende Func AimTo($Farbe, $shade) $PS = PixelSearch($x1, $y1, $x2, $y2, $Farbe, $shade) If IsArray($PS) = 1 Then MouseMove($PS[0], $PS[1]) EndIf EndFunc ShellExecute("Farbe.jpg")
Je nachdem wie ihr euren GUI genannt habt, ein WinActivate dahinter.. dann ists nachher nur halb-so-nervig
Code:
WinActivate("Farben Aimbot [eF_Hacks] Copyright 2009")
Ich denke das ist selbsterklärend
PHP Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BlauButton
AimTo($blau, 2)
Case $RosaButton
AimTo($rosa, 2)
Case $VioletButton
AimTo($violet, 2)
Case $OrangeButton
AimTo($orange, 2)
Case $GrauButton
AimTo($grau, 2)
Case $SchwarzButton
AimTo($schwarz, 2)
Case $GruenButton
AimTo($gruen, 2)
Case $RotButton
AimTo($rot, 2)
EndSwitch
WEnd
PHP Code:
;-Dateien mit einbeziehen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#include-once
;-Hotkeys Belegen
HotKeySet("{End}", "Ende")
;-Farben
$gruen = 0x1DB350
$blau = 0x10AFF1
$violet = 0x723091
$grau = 0xDCDCDC
$rot = 0xEC201F
$orange = 0xFFBB17
$schwarz = 0x464646
$rosa = 0xFF9CB8
;-Koordinaten
$x1 = 418
$y1 = 173
$x2 = 1020
$y2 = 671
;-Ende
Func Ende()
Exit
EndFunc ;==>Ende
Func AimTo($Farbe, $shade)
$PS = PixelSearch($x1, $y1, $x2, $y2, $Farbe, $shade)
If IsArray($PS) = 1 Then
MouseMove($PS[0], $PS[1])
EndIf
EndFunc
ShellExecute("Farbe.jpg")
;-Graphical User Interface
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Farben Aimbot [eF_Hacks] Copyright 2009", 136, 310, 261, 205)
GUISetBkColor(0x99B4D1)
$Group1 = GUICtrlCreateGroup("Farben", 8, 8, 113, 289)
$BlauButton = GUICtrlCreateButton("Blau", 24, 32, 75, 25, 0)
GUICtrlSetBkColor(-1, 0xA6CAF0)
$RotButton = GUICtrlCreateButton("Rot", 24, 64, 75, 25, 0)
GUICtrlSetBkColor(-1, 0xFF0000)
$SchwarzButton = GUICtrlCreateButton("Schwarz", 24, 96, 75, 25, 0)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$RosaButton = GUICtrlCreateButton("Rosa", 24, 128, 75, 25, 0)
GUICtrlSetBkColor(-1, 0xFF00FF)
$GruenButton = GUICtrlCreateButton("Grün", 24, 160, 75, 25, 0)
GUICtrlSetBkColor(-1, 0x008000)
$GrauButton = GUICtrlCreateButton("Grau", 24, 192, 75, 25, 0)
GUICtrlSetBkColor(-1, 0xA0A0A4)
$OrangeButton = GUICtrlCreateButton("Orange", 24, 256, 75, 25, 0)
$VioletButton = GUICtrlCreateButton("Violet", 24, 224, 75, 25, 0)
GUICtrlSetBkColor(-1, 0x800080)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
WinActivate("Farben Aimbot [eF_Hacks] Copyright 2009")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BlauButton
AimTo($blau, 2)
Case $RosaButton
AimTo($rosa, 2)
Case $VioletButton
AimTo($violet, 2)
Case $OrangeButton
AimTo($orange, 2)
Case $GrauButton
AimTo($grau, 2)
Case $SchwarzButton
AimTo($schwarz, 2)
Case $GruenButton
AimTo($gruen, 2)
Case $RotButton
AimTo($rot, 2)
EndSwitch
WEnd
Unten hänge ich mal meine Dateien ran.
PixelGetColor
Also, Wir sind jetzt bei PixelGetColor angekommen.
Meiner Meinung nach lässt sich PixelGetColor nur schwer auf GuildWars anwenden, kann aber
Bei anderen Dingen nützlich sein.. (fragt bitte nicht bei welchen )
Nun, wir gucken als erstes in unsere über alles geliebte AutoIT Hilfe.
Hier sehen wir:
Code:
PixelGetColor ( x , y [, hwnd] )
Code:
x = X Koordinate vom Pixel y = Y Koordinate vom Pixel hwnd = WinGetHandle => Koordinaten werden relativ zum "hwnd" genommen. Also der Fenstername
Dazu erstellen wir uns ein neues Skript, dieses nennen wir "PixelGetColor.au3".
Anfangen tun wir wieder mit den Include Datein.
PHP Code:
;-Dateien mit einbeziehen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include-once
PHP Code:
;-Zufallszahl (1 oder 2)
$rnd = Random(1, 2, 1)
;-Gui1
#Region ### START Koda GUI section ### Form=
$GUI = GUICreate("Farbe", 109, 93, 0, 0)
If $rnd = 1 Then
GUISetBkColor(0x800000)
Else
GUISetBkColor(0x99B4D1)
EndIf
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
PHP Code:
;-Gui2
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Start", 154, 81, 193, 125)
GUISetBkColor(0x99B4D1)
$Group1 = GUICtrlCreateGroup("", 8, 8, 137, 65)
$PGC = GUICtrlCreateButton("PGC", 40, 32, 75, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
PHP Code:
;-Farben
$Blau = 0x99B4D1
$Rot = 0x800000
Unserer Funktion.
Wir wissen das PixelGetColor die Parameter x und y benötigt
Und wir wollen mit unserer Funktion die Farbe überprüfen.
Also nennen wir sie FarbCheck, und geben ihr die Parameter x und y.
PHP Code:
Func _FarbCheck($x, $y)
X/Y durchführt.
PHP Code:
Func _FarbCheck($x, $y)
$PGC = PixelGetColor($x, $y)
Code:
Success: Returns decimal value of pixel's color. Failure: Returns -1 if invalid coordinates.
Nun müssen wir mit einem If oder Select-Statement ansetzen.
Ich nehme mal If (ich gehe davon aus das ihr damit erfahrung habt)
Also.
Wenn $PGC = Blau Dann...
Wenn $PGC = Rot Dann...
Wenn nix davon Dann...
PHP Code:
;-Unsere Funktion
Func _FarbCheck($x, $y)
$PGC = PixelGetColor($x, $y)
If $PGC = $Blau Then
MsgBox(0x40, "Blau", "Das Blaue Fenster hat sich geöffnet")
ElseIf $PGC = $Rot Then
MsgBox(0x40, "Rot", "Das Rote Fenster hat sich geöffnet")
Else
MsgBox(0x10, "Keine Ahnung", "Keine Ahnung was da ist, aber eines der beiden Fenster ist es nicht")
EndIf
EndFunc
PHP Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $PGC
_FarbCheck(41,41)
EndSwitch
WEnd
Code:
;-Dateien mit einbeziehen #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include-once ;-Farben $Blau = 0x99B4D1 $Rot = 0x800000 ;-Unsere Funktion Func _FarbCheck($x, $y) $PGC = PixelGetColor($x, $y) If $PGC = $Blau Then MsgBox(0x40, "Blau", "Das Blaue Fenster hat sich geöffnet") ElseIf $PGC = $Rot Then MsgBox(0x40, "Rot", "Das Rote Fenster hat sich geöffnet") Else MsgBox(0x10, "Keine Ahnung", "Keine Ahnung was da ist, aber eines der beiden Fenster ist es nicht") EndIf EndFunc ;-Zufallszahl (1 oder 2) $rnd = Random(1, 2, 1) ;-Gui1 #Region ### START Koda GUI section ### Form= $GUI = GUICreate("Farbe", 109, 93, 0, 0) If $rnd = 1 Then GUISetBkColor(0x800000) Else GUISetBkColor(0x99B4D1) EndIf GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### ;-Gui2 #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Start", 154, 81, 193, 125) GUISetBkColor(0x99B4D1) $Group1 = GUICtrlCreateGroup("", 8, 8, 137, 65) $PGC = GUICtrlCreateButton("PGC", 40, 32, 75, 25, 0) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $PGC _FarbCheck(41,41) EndSwitch WEnd
Dateien sind mit unten dran.
Weitere Funktionen folgen.