[Cheat Engine] - Mount&Blade Warband | Chat Basepointer Problem

  • Hallo,


    Ich hab ein kleines Problem, ich finde den Mainpointer des Chats (Letzter Chat Zeile) nicht.
    Diverse andere hab ich gefunden HP,Ammo,Skills etc, aber der Chat Pointer bleibt versteckt.
    Hat jemand Mount&Blade Warband und ahnung von Cheat Engine Pointer suchen etc.?
    Der könnte sich bidde mal melden bei mir :)


    Cheat Engine (Adresse):


    Ausgabe Ingame im Chat:


    Gruß
    Renz

  • Es geht nicht, da der Pointer wahrscheinlich geschützt ist bzw. sich immer ändert.
    Du brauchst den BasePointer. Dieser wird von CheatEngine grün hervorgehoben. Sehe dir Tutorials an, gibt sehr schöne auf YouTube (Cheat Engine Memory Hacking German / Cheat Engine Memory Hacking dll german)


    Falls du keine Tuts findest, kann ich dir gerne (leider erst morgen) links senden

  • Es geht nicht, da der Pointer wahrscheinlich geschützt ist bzw. sich immer ändert.
    Du brauchst den BasePointer. Dieser wird von CheatEngine grün hervorgehoben. Sehe dir Tutorials an, gibt sehr schöne auf YouTube (Cheat Engine Memory Hacking German / Cheat Engine Memory Hacking dll german)

    Ich habe mir die letzten Tage schon diverse Tutorials anggeuckt, wie ich schrieb die Basepointer für Hp,Skill etc. hab ich ja gefunden.
    Nur der für den Chat halt leider net, kp warum, Bin immer nach dem selben schema nachgegangen.

  • Ich weiß natürlich nicht welche Version du hast, aber bei mir ist der Chat(-Protokoll) Pointer bei 0x8ACDE0 gespeichert. Ich habe einfach nach den Nachrichten unter Q->"Letzte Botschaften" gesucht. Die Struktur sieht wie folgt aus:

    Also stets:

    • 4 leere Bytes
    • ein Pointer zum String
    • maximale Stringlänge (128 Bytes)
    • tatsächliche Stringlänge
    • String (128 Bytes)

    Insgesamt hat jeder Eintrag also 144 Bytes, es kann maximal 100 Einträge geben. Danach werden die Einträge verschoben, sodass die ältesten gelöscht werden.

  • Ich weiß natürlich nicht welche Version du hast, aber bei mir ist der Chat(-Protokoll) Pointer bei 0x8ACDE0 gespeichert. Ich habe einfach nach den Nachrichten unter Q->"Letzte Botschaften" gesucht. Die Struktur sieht wie folgt aus:

    Also stets:

    • 4 leere Bytes
    • ein Pointer zum String
    • maximale Stringlänge (128 Bytes)
    • tatsächliche Stringlänge
    • String (128 Bytes)

    Insgesamt hat jeder Eintrag also 144 Bytes, es kann maximal 100 Einträge geben. Danach werden die Einträge verschoben, sodass die ältesten gelöscht werden.

    Sehr nice, besten Dank :) Werde es gleich mal testen.
    Hast du evtl die tage mal Zeit, um mir zu zeigen wie du vorgegangen bist?
    Würde gern meinen Fehler wissen ^^


    Weil wie gesagt, hab diverse Base Pointer gefunden, nur den für das Protokoll nicht, wobei mich der nur intressiert,alle anderen für Hacks etc. sind eher uninteressant für mich.


    Gruß

  • Wenn ich das richtig gelesen habe, hast du nach einem Pointer auf die letzte Nachricht im Chat gesucht. Da du ja aber die Gesamtstruktur finden willst (da es nicht unbedingt einen Pointer zur letzten Nachricht geben muss), musst du schauen, wo die erste Chatzeile gespeichert ist und dann ein paar Bytes zurückgehen um den Anfang zu finden. Wenn es schon mehr als 100 Chateinträge gab, dann kannst du auch ganz einfach einen der Strings auf read/ write access beobachten und wirst so auf den Base Pointer kommen. Alternativ zu dieser Trial & Error Suche kann ich auch das Lernen von Assembler und Benutzen vom IDA Disassembler empfehlen. Damit kann man gezielter Strukturen erkennen, Funktionen finden und den Programmablauf nachvollziehen.

  • dword_8ACDE4 also der Pointer nach dem Base Pointer (+ 4 Bytes) zeigt übrigens auf das Ende der angelegten Struktur, also auf die Adresse nach dem letzten eingetragenen String. Daraus wird dann auch die Anzahl berechnet: ((dword_8ACDE4 - dword_8ACDE0) / 144);