Wert in dll ändern



  • Hey,

    Es geht um folgendes:
    Ich hatte mich mal mit einem multiplayer shooter beschäftigt, wo max. 16 Spieler auf einen Server konten. Dies war mir persönlich zu wenig und ich hatte einen Bekannten, der ziemlich gut in ASM war. Ich habe ihm die Variable genannt, womit man die Spieleranzahl in der dedicated Serverkonsole ändern kann genannt und ihm die dll dazu geschickt.
    Er hatte innerhalb von vllt. 10 Minuten das Limit erhöht und da frage ich mich: Wie?

    Ich habe gute Kenntnisse im Bereich Programmierung mit C, ASM aber das war wohl doch noch ein zwei Level zu hoch. Ich würde das jedoch gerne verstehen und nachverfolgen können, wie er das ganze umgesetzt hat.

    Kann mir dazu jemand Tools/Anleitungen empfehlen? Oder gerne selber eine kurze Erklärung schreiben.

    Bin dankbar über jede Hilfe.

    MfG 🙂



  • Konsole? Das wird wohl doch eher ein gewöhnliche API Lösung gewesen sein...



  • Nein.

    Stell dir den dedicated Server wie ein großes CMD Fenster vor ^^
    Die *.exe vom server hat nur 17 kb, er hat eine .dll datei geändert und fertig.

    Das war mit Sicherheit asm 😉



  • Warum fragst du nicht einfach deinen Bekannten, wie er es gemacht hat? 😕



  • Er ist nun seit ca. 2 Jahren ein richtig Pilot und ist nicht mehr wirklich online 😕



  • die Variable genannt, womit man die Spieleranzahl in der dedicated Serverkonsole ändern kann

    Logischerweise haben CVars immer einen String für den registrierten CVar-Namen. Anhand dessen ist es einfach auf den Wert zu gelangen. Dann noch schauen, wo der Wert nach z.B. die maximale von Spiel vorgegebene Spieleranzahl überprüft wird und diesen Wert erhöhen, oder z.B. den Check rauspatchen. Fertig.



  • Google -> reverse engineering lena
    Schau dir die ersten Tutorials an dann solltest du das Prinzip verstanden haben.

    Das ganze kannst du auch mit C und der WIN API umsetzen:
    WriteProcessMemory --> http://msdn.microsoft.com/en-us/library/windows/desktop/ms681674(v=vs.85).aspx

    Jedoch sind da bei WriteProcessMemory noch ein paar Sachen zu beachten da es bei dir ja um eine DLL geht.

    Mehr Infos zu dem DLL Kram --> http://www.c-plusplus.net/forum/313766


Anmelden zum Antworten