[AutoIt] Trainer Tutorial

06/03/2010 17:51 sido47#1
Hallo alle zusammen, ich zeige euch jetzt wie man mit Autoit Trainer erstellt.

Als erstes was ist ein Trainer:Es ist ein einfaches Programm das von bestimmten Adressen im Arbeitspeicher die Values (Werte) verändert.

Was brauchen wir:

1.Autoit ----> google
2.Cheat Engine ----> google
3.NomadMemory.au3 ----> Lesen
4.Ein Spiel ----> eBay
(5.Koda from Designer, nicht notwendig)

NomadMemory.au3 unten im Anhang


Nun dann beginnen wir :bandit:

Quote:
#include <NomadMemory.au3>
HotKeySet("{F1}" ,"UnendlichMunition")
HotKeySet("{F2}","Beenden")
Hier wird das include geseztt und ein Hotkey damit wir unseren Trainer oder eine Funktion von diesem auch aktivieren wie z.B deaktivieren können.



Jetzt mal zu den ersten Befehlen:p

Quote:
Func UnendlichMunition()
$warten = ProcessWait("DeinSpiel.exe")
$PID = ProcessExists("DeinSpiel.exe")
$oeffnen = _MemoryOpen($PID)
Hier wird erstmal auf den Prozess gewartet dann festgelegt als Variable($PID)
und dann "geöffnet".



Als Nächstes:

Quote:
Global $NeuerWert = 30
$FlipperAdresse = 0x14AABEC
$Flipper =_MemoryWrite($FlipperAdresse,$oeffnen,30,"dword" )
EndFunc
Hier wird zunächsteinmal der Neue Wert des zuänderenen Wertes (Munition oder Leben) festgelegt.Dann die Adresse in Hex Zahlen:confused: und dann der Wert in den Prozess an die Adresse gechrieben.



Was sind Hex Zahlen:confused: und wo bekomme ich die Adressen her:

Hex Zahlen sind einfach normale Zahlen in Computer schrift

Beispiele: 0123ABCD = 0x123ABCD
2123ABCD = 0x2123ABCD



Zu den Adressen.Diese sind die Speicher Adressen des Values den ihr ändern wollt um sie rauzufinden brauch ihr nun Cheat Engine.
So geht ihr vor:

1.CE aufmachen
2.Auf das Lupen Symbol drücken
3.Den Prozess deines Spiels auswählen
4.in das Feld den Wert deiner Beispielsweise Munition eingeben
5.Auf First Scan drücken
6.Bisschen schießen neuen Wert merken
7.diesen Wert ins Feld eintragen
8.Next Scan drücken

das solange machen bis normalerweise nur noch ein Wert (manchmal auch mehr) übrig ist.


So das wars auch schon hier nochmal ein ganzes Beispiel Script

Quote:

#include <NomadMemory.au3>
HotKeySet("{F1}" ,"UnendlichMunition")
HotKeySet("{F2}","Beenden")

while 1
sleep(300)
WEnd


Func UnendlichMunition()

while 1
$warten = ProcessWait("IronMan.exe")
$PID = ProcessExists("Ironman.exe")
$oeffnen = _MemoryOpen($PID)


Global $NeuerWert = 30
$FlipperAdresse = 0x14AABEC
$Flipper =_MemoryWrite($FlipperAdresse,$oeffnen,30,"dword" )
WEnd

EndFunc

Func Beenden()
Exit
EndFunc
Wie ihr seht habe ich noch eine While schleife eingebaut.Das ist nützlich wenn ihr wie indiesen Beispiel, bei Ironman,Unendlich Munition haben wollt
den dann müsst ihr nicht immer F1 drücken um nachzuladen

lg Sido47:handsdown: ------>THX Button nicht vergessen<------
06/04/2010 10:03 [SineX]#2
So klappt das aber auch nur bei statischen Adressen(die man kaum mehr vorfindet...)Du solltest vielleicht auch erklären,wie man in CE z.B. bei einem Pointer vorgeht usw.

Und warum schreibst du das
Quote:
$warten = ProcessWait("IronMan.exe")
$PID = ProcessExists("Ironman.exe")
$oeffnen = _MemoryOpen($PID)
mit in die While-Schleife?
06/04/2010 12:04 sido47#3
Ka is doch egal wenn man des so schnell hin progt ausserdem sind fast alle Adressen von Spielen statisch.

(zB. Empire Earth ---> Holz,Gold,Stein)

Und wens interrisiert bei dynamischen Detour setzten dann is egal
06/04/2010 23:49 #FaiL'#4
Find ich nicht besonders gut erklärt, irgendwie kommt das so rüber

"hier mach das dann dann dann haste das und jezze gib mir Thanks und hau ab"
06/04/2010 23:59 Adroxxx#5
Bitte keine Doppeposts.
Nächstes mal gibts eine Warning.
06/06/2010 12:14 sido47#6
Was für ein Doppelpost ?
06/06/2010 12:25 HardCore.1337#7
Quote:
Originally Posted by xFaiL0r View Post
Find ich nicht besonders gut erklärt, irgendwie kommt das so rüber

"hier mach das dann dann dann haste das und jezze gib mir Thanks und hau ab"

Find ich aber auch.
Da gibts viel bessere als das hier ;)
06/19/2010 10:41 sido47#8
Ja vielleicht aber trotzdem war es Arbeit und das nicht nur wegen den THXen