Die Signatur des Treibers ist ziemlich egal, der Patchguard verbietet Kernel Patches jeglicher Art, weshalb Anti-Cheat Treiber auf x64 unmöglich sind.
HWBPs werden entfernt, ja? Versuch doch einen HWBP auf SetThreadContext und einen auf GetThreadContext bzw. auf die internen Funktionen zu setzen, um zu verhindern, dass jemand deine HWBPs sieht bzw. sie überschreiben kann.
Werden alle HWBPs entfernt oder nur die on execute? Du könntest auch einen on read machen und dann immer das originale Byte stattdessen zurückgeben bzw. dadurch die Funktion finden, die den Memory checkt und diese patchen.
Access Violations wären ohnehin arsch lahm geworden.
Werden alle Exception Handler überschrieben, also auch die Vectored oder nur die Unhandled Variante?
Ansonsten könntest du ja auch da nen HWBP platzieren, hast ja 4 Stück.
Quote:
|
treiber garnicht erst geladen werden was zu falschen heartbeat packets führen würde...
|
Nein, tut es nicht, da es legitim ist, dass er nicht geladen wird.
Ich musste damals lediglich die Hack Detection abschalten und die Sache war gegessen. Das ging in S4 sogar ohne den Callback zu finden, weil man einfach den Part noppen/überspringen konnte, der die "Hack Detected" Message angezeigt und dann ExitProcess aufgerufen hat.
Quote:
|
checksum der gesamten wichtigen funktionen, da ist dann egal was ich da rein schreibe
|
Ist es eine Windows API oder eine Spielfunktion?
Bei APIs kann es auch manchmal helfen, die interne Variante zu hooken, weil nur die Win32 Version gecheckt wird.
Aber du bist sicher, dass die ganze Funktion mithilfe einer Checksum (die sich übrigens sogar leicht modifizieren ließe) bzw. eines Hashes geprüft wird und nicht nur die ersten Bytes?