Detours 2/2

  • Vorwort dies ist eine Weiterführung zu dem Letzen teil( Detours 1/2 ).
    Fals ihr diesen noch nicht gelesen habt, solltet ihr euch überlegen dies zuerst zutun.
    Dort habe ich gezeigt wie das Prinzip hinter Detouren erklärt, hier werde ich auf die Detection und noch ein paar sinnvolle Beispiele der Anwendung von Detouren geben.


    Also starten wir mal mit der Detection:
    Es gibt viele Möglichkeiten um Herauszufinden ob eine Funktion Gedetourd wurde, oder nicht.
    Die einfachste ist die Adressen im Speicher zu vergleichen dies ist simpel zu ereichen indem man tostring( any type )  aufruft.
    Wenn man dieser Funktion eine Funktion Übergibt  print( tostring( function() end ) )  so gibt sie ein String aus der wie folgt aussieht Funktion: 0x4fbf82c0 dies repräsentiert die Adresse der Funktion im speicher.
    Jedoch wenn man mit dieser Methode Funktionen überprüft muss man im Vorfeld ( vor der detour ) die Adresse speichern!


    Also...
    Wie mach ich es besser ( *im nachhinein* ) ?
    Nun Gmod stellt uns hierfür perfekte Funktionen zur Verfügung ( ich liste hier nur die eine auf! es gibt natürlich mehr )


    debug.getinfo( function , string )
    diese returnt eine Tabelle mit Folgenden Feldern( https://wiki.garrysmod.com/page/Structures/DebugInfo ) :


    So ist es natürlich super einfach herauszufinden ob eine Funktion Gedetourd wurde oder nicht.
    Indem man überprüft ob sie die src oder die linedefined Herausfindet Doch Halt.


    Es gibt trotzdem Möglichkeiten Dies zu Fälschen z.b kann man mit Runstring den Src Faken und die line auch. ( wenn man weis was man tut ich werde hier zu keine src geben möchte nicht das ihr das könnt *cac bypass* )


    Also muss es doch ein weg geben es noch besser zu machen
    -JA


    string.dump( function , boolean )
    Dies gibt uns den Bytecode einer funktion zurück ( bitte aufpassen auf NULL-chars *string.dump * ) ( -> https://wiki.garrysmod.com/page/string/dump )



    nunja um Speicher zu Spiechern rate ich jedoch util.CRC( string ) zu benutzen um eine eindeutige crc checksume zu bilden JEDOCH MUSS MAN DIES TUN BEVOR SIE GEDETOURD WURDE


    so zum Schluss: die Funktionen die zur Detection Benutzt werden sind meist in der debug , jit und jit.util Lib



    So jetzt zu den Sinnvollen Detours:
    Ich persönlich detour nicht so gerne da es ( wie bereits erwähnt ) mit Rechenleistung verbunden ist.
    jedoch ist es immer eine gute Idee RunConsoleCommand zu detrouren um zusehen wenn Admins ( über ULX ) etwas in eurer Console ausführen wollen.
    Sowie file.Read damit sie nicht eure daten ( im Gmod Verzeichniss ) auslesen können.


    Fals ihr fragen / Vorschläge / Kritik habt Schriebt ein Kommentar oder eine PM.


    <3 K03 <3


    Btw ich werde bald mit einem Tutorial Anfangen indem ich versuche Lua zu erklären und irgend etwas Sinnvolles zu schrieben :) ( fals ihr Ideen habt oder dabei sein wollt ( z.b ihr Source Code habt den ich benutzen soll oder gute Ideen ) schreibt ein Komentar )

  • du bist nicht nur richtig fortgeschritten in solchen Sachen, du kannst sie auch mega gut und simpel erklären. Ich glaube du könntest jemanden Idioten erklären, wie man sich in das Systems eines Servers hackt xD. Respekt, nicht nur beim schreiben sondern auch beim merken dieser ganzen Sachen. Macht immer wieder spaß deine Threads zu lesen haha. weiter so! <3

  • habe gehört und gesehen das sie ein gmod cheat haben^^ Respekt das du solche sachen machen kannst ;)

    Die gibts wie Sand am Meer.
    Er hat einfach einen funktionierenden C++ Cheat der undetected ist, wovon es allerdings auch immer mehr gibt, leider.

    Viele Grüße,
    Instinkt


    Owner werden ist nicht schwer. Owner sein dagegen sehr.
    Denken ist harte Arbeit, weshalb sie auch nur von Wenigen ausgeübt wird.


    giphy.gif

    76561198030713180.png