Hallo,
ich hab mal wieder etwas langeweile und desswegen möchte ich wieder ein bisschen Wissen mit euch teilen.
Sicherlich kennt ihr es, ihr möchtet einen Trainer für irgend ein beliebiges Spiel machen und habt Probleme mit der detection.
Natürlich könnte man sich in C++ eine Dll machen und verschiedene Funktionen hooken doch es gibt viele die alles in allem machen wollen. Wer meint dass man lieber C++ nutzen sollte der sollte nicht weiterlesen ;<
Verschiedene Funktionen ermöglichen das detecten von Programmen. Darunter zählen zB. folgende Funktionen:
- EnumProcesses
- K32EnumProcesses
- EnumWindows
Diese 3 Funktionen werden häufig genutzt. Wer wissen möchte was diese Funktionen genau können der sollte am besten auf msdn.microsoft.com nachschauen. Doch kommen wir nun weiter zum eigentlichen Teil. Angenommen, unser Script sieht so aus:
Wie man erkennen kann, soll dieser Trainer prüfen ob wir die Funktion Godmode an oder aus haben wollen und demnach entscheidet er dann auch.
Da dieses ganze Schema hier ingame basierend ist, müssen wir etwas gegen unsere "Hackdetection" tun. Eine Möglichkeit wäre, unser AutoIt Script ohne die gewöhnliche AutoIt Signatur zu compilen, doch in diesem Tutorial möchte ich auf die 2. Möglichkeit eingehen.
Jedes Programm nutzt Funktionen, Funktionen, die wir manipulieren können. Doch in unserem Fall wollen wir die Funktionen so manipulieren dass das Anti Hackprogramm nichts mehr mit den gegebenen Resultaten anfangen kann.
In dem folgenden Scriptbeispiel zeige ich euch wie ihr die Funktion EnumProcesses komplett entschärfen könnt:
Jetzt werdet ihr euch fragen wieso die Bytelänge 19 ist. Hier seht ihr einen Screen von der Funktion:
[Only registered and activated users can see links. Click Here To Register...]
Wer richtig zählen kann wird auf 17 nutzvolle Bytes kommen.
Doch achtung. Bei manchen Hackshields werden die ersten 2 Bytes der Funktion gecheckt. Was nun? Da die ersten 2 Bytes zu einem mov gehören, der nur als Funktionsanfang dient, können wir diesen auch in Ruhe lassen. Wie? Indem wir $EnumProcesses mit 0x2 addieren.
So, dass soll's zu meinem Tutorial gewesen sein. Fall's ihr Fragen habt bezüglich anderer Funktionen, zum Script oder zu irgend einem anderen Thema dann fragt mich ruhig in diesen Thread oder schreibt mir eine PM ;)
Zum Schluss möchte ich mich für eure erwiesene Aufmerksamkeit bedanken und ich hoffe doch dass es euch etwas weiterbringt.
Einen schönen Tag noch, euer K1ramoX :)
ich hab mal wieder etwas langeweile und desswegen möchte ich wieder ein bisschen Wissen mit euch teilen.
Sicherlich kennt ihr es, ihr möchtet einen Trainer für irgend ein beliebiges Spiel machen und habt Probleme mit der detection.
Natürlich könnte man sich in C++ eine Dll machen und verschiedene Funktionen hooken doch es gibt viele die alles in allem machen wollen. Wer meint dass man lieber C++ nutzen sollte der sollte nicht weiterlesen ;<
Verschiedene Funktionen ermöglichen das detecten von Programmen. Darunter zählen zB. folgende Funktionen:
- EnumProcesses
- K32EnumProcesses
- EnumWindows
Diese 3 Funktionen werden häufig genutzt. Wer wissen möchte was diese Funktionen genau können der sollte am besten auf msdn.microsoft.com nachschauen. Doch kommen wir nun weiter zum eigentlichen Teil. Angenommen, unser Script sieht so aus:
Wie man erkennen kann, soll dieser Trainer prüfen ob wir die Funktion Godmode an oder aus haben wollen und demnach entscheidet er dann auch.
Da dieses ganze Schema hier ingame basierend ist, müssen wir etwas gegen unsere "Hackdetection" tun. Eine Möglichkeit wäre, unser AutoIt Script ohne die gewöhnliche AutoIt Signatur zu compilen, doch in diesem Tutorial möchte ich auf die 2. Möglichkeit eingehen.
Jedes Programm nutzt Funktionen, Funktionen, die wir manipulieren können. Doch in unserem Fall wollen wir die Funktionen so manipulieren dass das Anti Hackprogramm nichts mehr mit den gegebenen Resultaten anfangen kann.
In dem folgenden Scriptbeispiel zeige ich euch wie ihr die Funktion EnumProcesses komplett entschärfen könnt:
Jetzt werdet ihr euch fragen wieso die Bytelänge 19 ist. Hier seht ihr einen Screen von der Funktion:
[Only registered and activated users can see links. Click Here To Register...]
Wer richtig zählen kann wird auf 17 nutzvolle Bytes kommen.
Doch achtung. Bei manchen Hackshields werden die ersten 2 Bytes der Funktion gecheckt. Was nun? Da die ersten 2 Bytes zu einem mov gehören, der nur als Funktionsanfang dient, können wir diesen auch in Ruhe lassen. Wie? Indem wir $EnumProcesses mit 0x2 addieren.
So, dass soll's zu meinem Tutorial gewesen sein. Fall's ihr Fragen habt bezüglich anderer Funktionen, zum Script oder zu irgend einem anderen Thema dann fragt mich ruhig in diesen Thread oder schreibt mir eine PM ;)
Zum Schluss möchte ich mich für eure erwiesene Aufmerksamkeit bedanken und ich hoffe doch dass es euch etwas weiterbringt.
Einen schönen Tag noch, euer K1ramoX :)