Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 22:13

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



XTrap detection omg

Discussion on XTrap detection omg within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
XTrap detection omg

hey elitepvpers,
ich beschäftige mich seit 3 Tagen mit S4League und dann gibts ja dieses wahrscheinlich jedem bekannte AntiCheat bestehend aus HGWC.exe,aegis,Xtrap. Ich bin halt mitlerweile soweit das HackingTools nicht erkannt werden, jedoch entstehen zwei Probleme.
1. Aegis injected in alle Prozesse ne dll und hookt dort nen par Nt Function. Die habe ich dann einfach unhooked in meinem injector und gut war. Doch sobald ich in meinem Programmen oder in z.b Cheat engine einen Handle zu dem Programm herstelle, also OpenProcess meckert XTrap irgendwie rum.
2. Wenn ich mit Visual Studio mein programm starte per debug kann es den Prozess öffnen (XTrap kann nicht geöffnet werden), aber wenn ich einfach normal die compilierte datei starte tut sich da beim OpenProcess nichts. Ich arbeite auf einem 64bit System und deswegen kann man ja nen rootkit ausschliessen ODER ?


Meine Fragen:
Wie entdeckt XTrap welche Funktionen ich benutze ?
Wieso kann ich den Process nicht öffnen ?

mfg Lazeboy
Lazeboy is offline  
Old 11/11/2011, 17:24   #2


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
Wieso sollte das jedem bekannt sein? XTrap ist der letzte Dreck und S4 spielt nicht jeder.

Und warum machst du so viele komplizierten Einzelfunktionen und entfernst XTrap nicht gleich ganz? oO

1.) Warum unhooken? Du könntest Hooks übersehen haben. Blockier doch gleich die Dll Injection. Normalerweise würde ich bei nem OpenProcess Fail sagen, es liegt am XTrap Treiber, aber da du ja x64 hast, bleiben 3 Möglichkeiten (nein Rootkits sind nicht ausgeschlossen):
-Wiselogic haben ihren Treiber signieren lassen, sodass er nun auch auf x64 geladen wird
-Es ist ein weiterer Usermode Hook (siehe Dll Injection blockieren. Würde auch mal prüfen, was HGWC zu treibt)
-Der S4 Prozess hat höhere Privilegien als deiner. Man kann afaik auch im Usermode Prozesse ganz normal als Systemprozesse deklarieren und dann lassen sie sich nicht mehr ohne weiteres manipulieren.

2.) Vermutlich weil deine Programm dadurch Debug Rechte gegeben werden. Gibst du sie ihm in deinem Injector auch manuell? Führst du es als Admin aus?
@Die anderen 2 Fragen:

XTrap entdeckt nicht, welche Funktionen du nutzt. Es prüft lediglich den Memory von S4 auf Veränderungen. Und diverse Funktionen werden gehookt, wie du bereits erkannt hast, das wird normalerweise aber nicht gleich als Hack detected, sondern einfach nur geblockt.

Da gibts viele Möglichkeiten.
MrSm!th is offline  
Thanks
1 User
Old 11/12/2011, 00:20   #3
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
Quote:
Originally Posted by MrSm!th View Post
Wieso sollte das jedem bekannt sein? XTrap ist der letzte Dreck und S4 spielt nicht jeder.

Und warum machst du so viele komplizierten Einzelfunktionen und entfernst XTrap nicht gleich ganz? oO

1.) Warum unhooken? Du könntest Hooks übersehen haben. Blockier doch gleich die Dll Injection. Normalerweise würde ich bei nem OpenProcess Fail sagen, es liegt am XTrap Treiber, aber da du ja x64 hast, bleiben 3 Möglichkeiten (nein Rootkits sind nicht ausgeschlossen):
-Wiselogic haben ihren Treiber signieren lassen, sodass er nun auch auf x64 geladen wird
-Es ist ein weiterer Usermode Hook (siehe Dll Injection blockieren. Würde auch mal prüfen, was HGWC zu treibt)
-Der S4 Prozess hat höhere Privilegien als deiner. Man kann afaik auch im Usermode Prozesse ganz normal als Systemprozesse deklarieren und dann lassen sie sich nicht mehr ohne weiteres manipulieren.

2.) Vermutlich weil deine Programm dadurch Debug Rechte gegeben werden. Gibst du sie ihm in deinem Injector auch manuell? Führst du es als Admin aus?
@Die anderen 2 Fragen:

XTrap entdeckt nicht, welche Funktionen du nutzt. Es prüft lediglich den Memory von S4 auf Veränderungen. Und diverse Funktionen werden gehookt, wie du bereits erkannt hast, das wird normalerweise aber nicht gleich als Hack detected, sondern einfach nur geblockt.

Da gibts viele Möglichkeiten.

danke für die schnelle antwort
also ich hab jetzt nochmal bisslö geforscht und obwohl das mit dem Driver für mich ausgeschlossen war komme ich ins zweifeln, denn wieso sollte S4League dann beim Start "StartService" benutzen.

2. ich gebe meinem injector debug rechte und starte auch als admin

3. das der die memory überprüft soweit bin ich noch nicht, ich bin auch leider nicht weiter gekommen(bis jetzt) im forschen von HGWC.exe. ich weiß noch nicht wirklich was das ding eig. bringt ausser nen Parentwindow von Aegis zu sein. Also beim unhooken habe ich definitiv nichts übersehen.

achja ich möchte die funktionen einzelnd ausschalten und nicht einfach alles zerstören und beenden , mich interressiert ja wie diese anti cheat das machen. Naja ich werde mir das mit dem Driver nochmal genauer angucken. Gibts eig. große unterschiede zwischen einem 64bit und einem 32bit Driver, mit dem ich Openprocess,write,readmemory freigeschaltet habe biskjetzt, zu programmieren, weil die anti cheats ja wahrscheinlich bis jetzt noch nicht getan haben muss es ja eine Schwierigkeit geben.

mfg Lazeboy
Lazeboy is offline  
Old 11/12/2011, 11:45   #4


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
StartService nutzt es generell, sollte es failen, überprüft es, ob es auf einem x64 Host läuft und falls ja, wird das halt nicht so eng gesehen, dass der Treiber nicht geladen wurde, wie auf x86.

Quote:
achja ich möchte die funktionen einzelnd ausschalten und nicht einfach alles zerstören und beenden
Ist natürlich eine sehr gut gewählte Herangehensweise.

HGWC übernimmt die Kommunikation mit dem Server, prüft Game Files und sucht selbst ab und zu auch mal nach blacklisted Windows.
Mehr habe ich bisher nie herausgefunden, weil ich nicht weiter gesucht habe. Kann durchaus sein, dass es auch einen Usermode Hook vornimmt, interessiert mich aber nicht :P

Welchen ErrorCode gibts denn nach OpenProcess eigentlich?

Deine letzte Frage verstehe ich nicht.
MrSm!th is offline  
Old 11/12/2011, 13:25   #5
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
also der 1. Fehler von OpenProcess ist weg, war ein ziemlich dummer flüchtigkeitsfehler, hab DebugPrivildges in die inject funktion gepackt obwohl OpenProcess vorher genutzt wird XD. Also ich kann in alles injecten vorrausgesetzt z.b XTrap oder S4Client laufen schon. Wenn ich ich mein injector starte und auf den Process warte gibt der mir Error 6 also INVALID_HANDLE wieder, was ich nicht verstehe....lässt auf nen hook deuten oder ?

das mit dem detecten der handle versteh ich auch nicht ganz, ich habe mal gelesen das es in der csrss.exe von windows nen OpenHandle Table gibt glaubst du XTrap guckt danach ? Es muss ja irgendwie was mit dem Handle zu tun haben, weil das programm ist ja wurscht sobald OpenProcess in verbindung mit S4 benutzt wird ist ende...

btw treiber.
ich hab mich vor nen paar wochen mit kernel hooks beschäftigt und das war auch erfolgreich auf 32bit, ich habs auf 64bit noch nicht versuch und weil die anti cheats ja schon relativ lange auf 64bit anfälliger sind, also im kernel nichts manipuliert haben bin ich davon ausgegangen das es auf 64bit anders, schwieriger ist als auf 32bit.


EDIT:
also das entdecken des OpenProcess nenn ichs jetzt mal, kommt wahrscheinlich durch S4Client, oder dieser XTrap.dll. Denn ich lösche HGWC, aegis/64 und wir trotzdem erkannt.
Lazeboy is offline  
Old 11/13/2011, 16:00   #6


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
Wenn du zum Startup injecten willst, hook halt CreateProcess im Patcher und mach keine Schleife

Die Table gibt es, aber nein, glaube ich eigentlich nicht. Wäre auf x64 aber durchaus möglich, da sie auf den Kernel verzichten müssen.

Das Programm ist nicht wurscht. Fraps zb. kann einfach so seine Dll injecten, ohne Probleme zu bekommen.

Es ist nicht schwieriger, man muss nur einen signierten Treiber haben, sonst kann man ihn nicht laden.

HGWC zu löschen ist ja auch ne ganz schlaue Idee o.ô
MrSm!th is offline  
Old 11/13/2011, 17:36   #7
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
wie meinst du das mit dem CreateProcess hooken ?

Das Problem ist ja nicht das nutzen von openprocess, das problem ist das man den HANDLE offen lässt und nicht beendet. Wenn ich mein Injector nutze dann injecte ich das und danach benutze ich ja CloseHandle(). Wenn Fraps also nach dem Injecten den handle sofort wieder schliesst, wird nichts entdeckt. Ich hab HGWC suspended, und aegis gelöscht um zu gucken wieso das entdeckt wird, also von welchehm Programm die detection ausgeht. Also du kannst openprocess 100mal hintereinander auf s4 benutzen vorrausgesetzt der nächste befehl ist CloseHandle . Gibts denn nicht irgendeine Funktion oder Möglichkeit zu gucken welche OpenHandles processe oder mein Process zu anderen processen hat ?
Eigentlich kann man Treiber ja aussschliesen, weil wenn der treiber beispielsweise durch hooken von ZwOpenProcess guckt ob auf s4 zugegriffen wird, könnte er 1. irgendnen error wieder geben oder 2. würde ja sofort entdeckt werden das man das benutzt und nicht wenn man den handle sofort beendet das nichts entdeckt wird.
Lazeboy is offline  
Old 11/13/2011, 20:00   #8


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
So wie ich es sagte: Hook CreateProcess und injecte in dem Hook die Dll direkt beim Startup.

Ich weiß nicht, wie man die OpenProcesses Table in csrss auslesen kann.
MrSm!th is offline  
Old 11/13/2011, 20:27   #9
 
~kau~'s Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 634
Received Thanks: 794

MrSm!th hat Recht
Aber ich würde CreateThread & StartService hooken.
Oder du machst es so, dass es keine Debugger mehr erkennt. (Umständlicher , da du auch noch mem check raus nehmen musst...)
Da wir hier ja von s4 sprechen musst du auch ein paar jmps setzen und Ala einfach seinen Willen lassen ..
~Kau~

E: Dies funzt nur bei dem alten XTrap & auch nur so lange Ala failt und kein Check einbaut
~kau~ is offline  
Old 11/13/2011, 21:17   #10
 
XxharCs's Avatar
 
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,228
vill mal NtQuerySystemInformation & ZwQuerySystemInformation jmpen (natürlich falls vorhanden)
XxharCs is offline  
Old 11/13/2011, 21:20   #11
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
ich versteh das mit dem hooken zwar aus prinzip aber wie soll ich denn hooken dann brauch ich ja 2 dlls oder wie ? Das ist echt also finde ich total genial diesen handle check . Also der kern meiner arbeit ist ja anti cheat weg zu kriegen in s4 hacken habe ich eig. gar nicht so ne große interesse das wäre sozusagen nur ein nebenprodukt meiner arbeit falls sie denn irgendwann erfolgreich ist . Ist euch noch ne andere möglichkeit bekannt wie man handles entdecken kann vlt gibts da ja änhlichkeiten wie bei winsock connect(OpenProcess) und accept (....) ich weiß ziemlich weit gedacht aber das ist schon nen übele detection methode.


Edit:
@~kau~
ich glaube das würde auch am handle problem scheitern letzt endlich XD
@XxharCs ja aber damit werden ja auch nur die Process aufgelistet und solange ich nicht cheatengine attache kann ich das ja offen lassen wie ich lustig bin

Edit2:
obwohl

Code:
typedef struct _SYSTEM_PROCESS_INFORMATION {
    ULONG NextEntryOffset;
    ULONG NumberOfThreads;
    BYTE Reserved1[48];
    PVOID Reserved2[3];
    HANDLE UniqueProcessId;
    PVOID Reserved3;
    ULONG HandleCount;
    BYTE Reserved4[4];
    PVOID Reserved5[11];
    SIZE_T PeakPagefileUsage;
    SIZE_T PrivatePageCount;
    LARGE_INTEGER Reserved6[6];
} SYSTEM_PROCESS_INFORMATION;
NtQuerySystemInformation -> SYSTEM_PROCESS_INFORMATION -> The HandleCount member contains the total number of handles being used by the process in question; use GetProcessHandleCount to retrieve this information instead.

Edit 3:
für leute die interessiert sind hier noch weitere möglicherweise mehr fährten
ZwQueryObject -> ObjectBasicInformation
ZwQueryInformationProcess -> SYSTEM_HANDLE_INFORMATION
Lazeboy is offline  
Old 11/13/2011, 22:35   #12


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
Du kannst 2 Dlls machen, ja. Du kannst auch einfach eine Dll schreiben und diese in den Patcher injecten. Dort hookt sie CreateProcess und injectet sich automatisch in HGWC von wo sie sich dann automatisch (mit einem weiteren CreateProcess Hook) in S4 injectet.

Dass XTrap Handles per csrss.exe erkennt, ist eine Vermutung. Afaik werden doch auch gar keine Programme detected, die nen offenen Handle haben o.ô
Es war doch immer so, dass alles in Ordnung war, bis man halt Read/WriteProcessMemory auf S4 nutzen wollte, dann gabs Ärger. Oder hat sich das geändert?

Jedenfalls mein 0815 Bypass, den ich mal geschrieben hatte, bevor ich nen Full Bypass geschrieben habe, hat auch so wie die bekannten funktioniert: Detection umgehen, Prozessschutz war nicht nötig, da ich auf x64 gearbeitet habe und eine 2. Detection von blacklisted Windows in HGWC umgehen.
Das war es auch schon. Handles wurden nicht detected.

Ach ja und ne lustige Dll Hack Detection gabs: Wenn ein Fenster im Vordergrund war, das nicht S4Client hieß aber trotzdem zum Prozess S4Client.exe gehörte, wurde S4 geschlossen

Und was du dir da rausgesucht hast ist ein kleiner Logikfehler.
HandleCount ist die Anzahl der Handles, die zu S4 gehören (sprich alle Handles, die S4 besitzt), nicht die Prozess-Handles, die auf S4 verweisen.

@kau: Wenn man es so macht, warum XTrap dann nicht gleich abschalten? Warum so umständlich?
Alaplaya hat btw. schon diverse Checks, nur haben die gewisse Einschränkungen (ob ungewollt oder nicht, weiß nicht, vermute aber eher ersteres).
MrSm!th is offline  
Old 11/14/2011, 14:08   #13
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
also mit der detection muss sich dann anscheinend geändert haben weil bis readprocessmemory kommste nicht mehr. Möglicherweise wird ja auch durch aegis die handles geprüft. Es gibt irgendwie mehrere möglichkeiten. Ich bin aber ehrlich gesagt mit meinem latein am ende . Das mit den detection von der dll oder so soweit bin ich ja noch nicht. Ich werde mich nochmal bisschen mit "Enum Handles" beschäftigen. Ich halte euch dann auf dem laufenden in diese thread
Lazeboy is offline  
Old 11/14/2011, 17:04   #14


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
Das liegt höchstwahrscheinlich an Aegis. Zu meiner Zeit gab es den noch nicht.

Allerdings bezweifle ich trotzdem, dass Aegis auf csrss.exe zugreift.

Jedenfalls gab es mal folgendes Problem:

Handles zu S4 nach XTrap Start zu erhalten war gar nicht möglich.
Handles die vorher erstellt wurden, waren ReadOnly; wenn man schreiben wollte meldete sich XTrap.

Sicher, dass sich jetzt immer XTrap meldet, auch wenn nur ein offener Handle existiert?
MrSm!th is offline  
Old 11/17/2011, 21:59   #15
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
ich bins nochmal also das Problem bleibt weiterhin bestehen jedoch kann ich sagen das es nicht an Aegis liegt. Obwohl ich Aegis weg hatte und die dll ejected, wurde mein HANDLE Aufbau entdeckt. Ich glaube ich werde für dieses Problem keine Lösung mehr finden . Mir ist einfach nicht kla wie XTrap das veranstaltet
Das mit dem Handel bin ich mir sicher, weil ich ja gar nicht zu mehr aktionen komme
Lazeboy is offline  
Reply


Similar Threads Similar Threads
XTrap Memory Access Detection, Profi Tipps benötigt.
06/12/2010 - S4 League - 3 Replies
Gestern habe ich paar Adressen gefunden die in Frage kommen könnten. Einmal die SP Regneration, Cut Speed und noch paar andere. Bei jede Adresse in der ich die Value ingame verändere meckert XTrap NICHT. Nur bei den besagten Adressen da kommt ne Meldung "Memory Access detected" . MrSm!th hat ja einen Bypass für die CheatEngine detection gemacht, kann man das nicht auch für die bestimmten Adressen machen? Wie muss man da vorgehen, welche Datei von Xtrap muss man analysieren oder muss...



All times are GMT +1. The time now is 22:13.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.