OldSchoolHack

Register / Login English

AutoIT und Cheats ?


icon AutoIT und Cheats ? #1

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
AutoIT und Cheats - Wie ich finde keine gute Kombination.
Das hier wird ein kleiner Informations- und Diskussions-Thread.


http://abload.de/img/logo2xq6i9z.png


Wie funktioniert AutoIT?
-
AutoIT ist eine Skriptsprache, das heißt, sie wird zur Runtime (während der Ausführung) von
einem Interpreter, wie der Name schon sagt, interpretiert. Danach werden die entsprechenden
Befehle ausgeführt. AutoIT bietet hier sogar die Möglichkeit, Funktionen aus Win32-DLLs einzubinden.
Zum Vergleich: Programme die in C/C++ geschrieben wurden, werden (einmalig) in "Computersprache"
übersetzt, die die CPU direkt versteht. Der Endbenutzer erhält also nur das fertige Programm in
"Computersprache", nicht den Quellcode. Daher sind AutoIT-Programme deutlich langsamer.



Wie funktioniert der AutoIT-"Compiler" ("Script to EXE Converter") ?
-
Laut Wikipedia sind Compiler "spezielle Übersetzer, die Programmcode aus [...]
Hochsprachen, in [...] maschinell ausführbare Maschinensprache oder Bytecode überführen."
Auch wenn in der offiziellen AutoIT-Dokumentation von "kompilieren" die Rede ist,
wird bei AutoIT eigentlich nichts übersetzt. Der "Script to EXE Converter" packt einfach
das Skript (mit dessen Abhängigkeiten), und einen etwas angepassten Interpreter in eine
ausführbare Datei (Portable Executable), auch bekannt als ".exe"-Datei. Aufgrund dieser
Funktionsweise lässt sich aus mit AutoIT generierten Executables auch einfach der Quellcode
auslesen.



Was ist mit AutoIT-Obfuscatoren ?
-
Solche Tools verschleiern den Quelltext des AutoIT-Programms, um es vor Reverse Engineering
(der Nachkonstruktion des Originalen Quellcodes) zu schützen. Allerdings gibt es auch DeObfuscatoren,
die verschleierte Programme wieder zu relativ lesbarem Code aufarbeiten. Oft wird (je nach Tool) nur
der Quelltext verschleiert. Außerdem lassen sich mit allgemeinen Methoden wie z.B. dem Abfangen (Hooking)
bestimmter Funktionsaufrufe (z.B. Funktionen der WindowsAPI), auch etwas über Programmablauf herausfinden.

Obfuscatoren wirken sich je nach Implementierung negativ auf die Performance aus,
der Triggerbot von Flo' ist hier ein klasse Beispiel:
Bis der Hack mal gestartet ist, und der Login-Screen zu sehen ist, wird satte 1,14 Millionen mal Speicher
reserviert (HeapAlloc()), und 0,83 Millionen mal wieder Speicher freigegeben (HeapFree()), weil teile des
Skripts erst einmal "entschlüsselt" werden müssen. Das macht sich in Form einer spürbaren Verzögerung bemerkbar.
http://abload.de/img/heapallocc3f0s.png
http://abload.de/img/heapfreedae67.png
Zum Vergleich: Der Windows-Taschenrechner ruft bis er offen ist, nur ca. 3000 mal HeapAlloc() auf.



Ist es Vorteil gegenüber AntiCheats, AutoIT zu benutzen ?
-
Da AutoIT Programme nur Scripts sind, die von einem Interpreter ausführt werden, kann es ggf. für AntiCheats
schwerer werden, ein solches Programm zu erkennen, da der Interpreter an sich ja kein verbotenes Programm ist.
Aus diesem Grund blockieren mache AntiCheats (z.B. Punkbuster) AutoIT komplett. Wer jedoch den "Script to EXE Converter"
benutzt, verschenkt diesen "Vorteil" wieder, da das Script dann ein fester Bestandteil wird, und nicht mehr von
dem universalen Interpreter eingelesen wird. Außerdem ist es kaum/nicht möglich, sein Programm vor AntiCheats
zu verstecken. Man kann AutoIT-Programme unter anderem nicht in einen Prozess Injizieren oder im Kernel-Modus
(höhere Privilegierungs- bzw. Sicherheitsstufe) ausführen.



Mein Fazit zu AutoIT:
AutoIT ist gut geeignet, um sich kleine Programme mit GUI zu programmieren, die den Alltag erleichtern sollen.
Kleinere Cheats, wie z.B. Trainer zählen auch dazu. Um professionelle Hacks schreiben, ist C/C++ jedoch Pflicht,
da AutoIT mit vielen Einschränkungen daherkommt und langsam ist.


Ein Dankeschön geht an SilverDeath, der sich alles durchgelesen hat,
und mir einige Verbesserungsvorschläge gemacht hat.

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
Last edited by Dr_Pepper (Sat 29. Nov 2014, 22:22)

Reason: no reason given

3 positive
1 negative
This post has been rated by:
KN4CK3R (Sat 29. Nov 2014, 22:25), zZzeta/S (Sat 29. Nov 2014, 22:52), Olmoody (Sun 30. Nov 2014, 09:40), Iqueburd (Sun 30. Nov 2014, 14:42)
icon #2

Join Date: Feb 2013

Posts: 535

User-Rating:

92 positive
24 negative
Schöne zusammenfassung
icon #3

Join Date: Jan 2013

Posts: 129

User-Rating:

7 positive
12 negative
Ich finde das Thema sehr interessant da ich ja selber auch oft mit Autoit arbeite.
c++ ist aufjedenfall deutlich schneller und multithreading ist mit autoit auch nicht wirklich umsetzbar aber autoit hat bei mir noch nie für n VAC bann gesorgt.
selbst die public hacks die dann nach ca 7 monaten immernoch UD warn

Meine Meinung:
Klar ist c++ besser als Autoit aber ich habe mehr spass an Autoit finde meine Fehler deutlich schneller und finde es gerade für anfänger deutlich Übersichtlicher
icon #4

Join Date: May 2013

Posts: 95

User-Rating:

40 positive
5 negative
Quote from Darknightx37 post
Ich finde das Thema sehr interessant da ich ja selber auch oft mit Autoit arbeite.
c++ ist aufjedenfall deutlich schneller und multithreading ist mit autoit auch nicht wirklich umsetzbar aber autoit hat bei mir noch nie für n VAC bann gesorgt.
selbst die public hacks die dann nach ca 7 monaten immernoch UD warn

Meine Meinung:
Klar ist c++ besser als Autoit aber ich habe mehr spass an Autoit finde meine Fehler deutlich schneller und finde es gerade für anfänger deutlich Übersichtlicher

Jeder hat natürlich seine Vorlieben, doch kann ich dir nur raten dich ein bisschen mit den Möglichkeiten unter C/C++ zu beschäftigen. Für die Fehlersuche oä bietet sich ja auch immer der Debugger an.
Last edited by zZzeta/S (Wed 25. Mar 2015, 13:42)

Reason: no reason given

icon #5

Join Date: Jan 2013

Posts: 129

User-Rating:

7 positive
12 negative
Quote from zZzeta/S;83936
Quote from Darknightx37 post
Ich finde das Thema sehr interessant da ich ja selber auch oft mit Autoit arbeite.
c++ ist aufjedenfall deutlich schneller und multithreading ist mit autoit auch nicht wirklich umsetzbar aber autoit hat bei mir noch nie für n VAC bann gesorgt.
selbst die public hacks die dann nach ca 7 monaten immernoch UD warn

Meine Meinung:
Klar ist c++ besser als Autoit aber ich habe mehr spass an Autoit finde meine Fehler deutlich schneller und finde es gerade für anfänger deutlich Übersichtlicher

Jeder hat natürlich seine Vorlieben, doch kann ich dir nur raten dich ein bisschen mit den Möglichkeiten unter C/C++ zu beschäftigen. Für die Fehlersuche oä bietet sich ja auch immer der Debugger an.
ja das habe ich die tage schon gemacht aber ich hab noch zu wenig erfahrung mit c++ und muss da noch n paar basics lernen