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:
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.
Diese Funktionen erkennen Prozesse bzw. Fenster aber nur anhand ihres Namen bzw. Classname etc. (vermutlich Autoit v3 Gui), richtig?
D.h. alles was verhaltensbasiert erkannt wird, also wenn mein Trainer erst bei Zugriff auf bestimmte Memorybereiche detected wird o.ä., kann so nicht umgangen werden?
Diese Funktionen erkennen Prozesse bzw. Fenster aber nur anhand ihres Namen bzw. Classname etc. (vermutlich Autoit v3 Gui), richtig?
D.h. alles was verhaltensbasiert erkannt wird, also wenn mein Trainer erst bei Zugriff auf bestimmte Memorybereiche detected wird o.ä., kann so nicht umgangen werden?
Damit kannste AutoIt detections umgehen. Bei XTrap Games funktioniert es ;D
D:\Programme\AutoIt3\Include\SecurityConstants.au3 (67,39) : ERROR: $TOKEN_QUERY previously declared as a 'Const'.
Global Const $TOKEN_QUERY = 0x00000008
und
D:\Programme\AutoIt3\Include\SecurityConstants.au3 (69,51) : ERROR: $TOKEN_ADJUST_PRIVILEGES previously declared as a 'Const'.
Global Const $TOKEN_ADJUST_PRIVILEGES = 0x00000020
€dit: in der NomadMemory.au3 waren diese Variablen schon deklariert.
müsste das enumprocesses nicht irgendwie deklariert werden ? und was meinste mit dazu addieren ? , bissl unverständlich das script , ansonsten nice tutorial
müsste das enumprocesses nicht irgendwie deklariert werden ? und was meinste mit dazu addieren ? , bissl unverständlich das script , ansonsten nice tutorial
enumprocesses ist eine api die in psapi.dll definiert ist. selber brauch man das nicht definieren da man sich einfach die adresse hole kann die dann auf diese funktion zeigt durch getprocadress.
mit dazu addieren meine ich dass du an der adresse die auf enumprocesses zeigt ein paar bytes dazu rechnest um memoryscanner zu umgehen die oftmals nur die ersten 2 bytes einer funktion scannen (muss nicht immer so sein, manche funktionen werden auch komplett geprüft). enumprocesses + 7 wär eine gute stelle da dort der jmp zu K32EnumProcesses ist.
Quote:
Originally Posted by Punkter124
Ich kappier nicht ganz was man jetzt verändern muss um den bypass zum laufen zu bringen ... (bei mir wird der immer detectet)
So the number 90, is every asm nop function, and all you have to do is change the number 90 in the script, to the one that has nop?
like if the nop's were on 96, I had to change it to 96 on the script?
AutoIt Script gegen Xtrap auf lc ger bypassen? 02/23/2011 - Last Chaos - 8 Replies Heyho,
Ich hab mir in autoit n kleines script geschrieben, auf win 7 64 bit klicke ich einfach im .net trainer antiautoit bypass an und schon kann ichs verwenden ohne dass xtrap meckert.
so jetzt zu meiner frage:
wenn ich es auf 32 bit system verwenden willm da hab ich keinen trainer mit nem bypass.
also wie kann ich den bypass selbst legen das ich es ohne trainer auf 32 und 64 bit nutzen kann? :D
also wenn ich jem. mein script weiter gebe das er es ohne iwelche zusätzlichen progs...