Jump to content
Welcome, Guest
Existing user? Sign In

Sign In



Sign Up
The MatriX
  • Welcome To Ghbsys
  • CS GO Streaming Version is released. Have fun streaming while cheating!
  • Have a Payment Issue? Send us a Support ticket.
  • Make a thread if you need support or join our discord for live support.
  • Have Suggestions? Make a thread and you'll earn Ghbsys Points for implemented suggestions.
  • Join our discord to stay well connected! Don't forget to integrate your discord to the site
  • Welcome to [GHB] - GAmEhAcKbAsTaRdS Forum

    Welcome to [GHB] - GAmEhAcKbAsTaRdS Forum, like most online communities you must register to view or post in our community, but don't worry this is a simple free process that requires minimal information for you to signup. Be apart of [GHB] - GAmEhAcKbAsTaRdS Forum by signing in or creating an account.
    • Start new topics and reply to others
    • Subscribe to topics and forums to get email updates
    • Get your own profile page and make new friends
    • Send personal messages to other members.

    [BRN] Hack Tut - #1 Adressen & Pointer finden (MHS)


    SWW13
     Share

    Recommended Posts

    [bRN] Hack Tut

    #1 Adressen & Pointer finden (MHS)

     

     

    Info

    Dieses Tutorial ist Teil einer Sammlung, für weitere Information kuckt bitte in die Übersicht.

    [bRN] Hack Tut - Übersicht

     

     

    Vorraussetzungen

    MHS (Memory Hacking System).

    Viel Ausdauer, Spaß & Freunde!

     

    Links

    MHS

    Darkest Island (Das Spiel)

     

     

    Adressen & Pointer finden

    [Adresse]

    Pausiert das Spiel (Mit Esc) und merkt euch euer aktuelles Leben.

    Startet euren MHS und wählt das Spiel (Data.exe) aus.

     

    post-1277-1252322422_thumb.png

     

    Stellt den Suchmodus auf „Exact Value“ und gebt euer Leben ein.

    Startet die Suche, ich hab etwa 3,6k Ergebnisse, lasst euch von einem Zombie angreifen oder regeneriert irgendwie Leben und Pausiert das Spiel wieder und macht eine anschließende Suche (Keine Neue!).

     

    post-1277-1252322432_thumb.png

     

    Ich hab gleich beim zweiten Mal nur ein Ergebnis, wenn ihr immer noch mehrere habt, wieder holt das solange bis ihr max. 5 Ergebnisse habt.

    Macht einen Doppelklick auf die erste Adresse, dann ist sie rechts in der List. Macht einen Doppelklick auf die Variable in der Liste und gebt unter „Value When Locked“ ein auf was ihr die Variable frieren wollt. Zum ändern gebt den neuen Wert bei „Cur Value“ ein. Klickt OK, wenn ihr sie frieren wollt wählt die Variable aus und klickt auf das geschlossene Schloß zum entfrieren das offene.

    Wenn sich euer Leben nicht ändert oder es nicht auf den angegeben Wert gefroren wird, versucht den die nächste Adresse, wenn es dort keine mehr gibt, habt ihr vllt. einen Fehler bei der Suche gemacht.

     

    Wenn ihr das Spiel jetzt neu startet würdet, würden euere Adressen nicht mehr stimmen (Ihr könnt es ja mal ausprobieren). Was wir jetzt brauchen Sind die Pointer die immer auf die aktuelle Adresse zeigen…

     

    [Pointer]

    Macht einen Rechtsklick auf die Variable, „Find What Access This Adress (Attaches rhe Debugger)“.

    Jetzt öffnet sich der Disassembler und ein Helper. Geht im Helper auf „Auto-Hack“, dort müsste jetzt euere Adresse stehen. Klick Sie an und wartet bis unten ein Eintrag erscheint. Wenn ihr einen habt, macht einen Rechtsklick und wählt „Go To->In Current Tab“.

    An der grau markierten Stelle wird auf die Variable über den Pointer zugegriffen. Normalerweiße wird entweder etwas hinein geschrieben oder es wird ausgelesen.

    mov *Register*, [Pointer+Offset] Hier wird die Variable in ausgelesen

    mov [Pointer+Offset], *Register* Hier wird etwas in die Variable geschrieben.

     

    post-1277-1252322441_thumb.png

     

    […]

    MOV EAX, 1

    PUSH EAX

    MOV EAX, DWORD PTR [102714]

    POP EBX

    MOV EAX, EBX

    MOV ECX, 102370

    MOV DWORD PTR [ECX], EAX

    MOV EAX, DWORD PTR [102714]

    MOV EBX, DWORD PTR [102370]

    MOV EAX, DWORD PTR [EAX+EBX*4]

    MOV ECX, DWORD PTR [EAX+30]

    […] Alles was danach kommt interessiert uns nicht mehr!

     

    In der Rot markierten Zeile (in MHS grau) wird das Leben über einen Pointer + 30 ausgelesen. Der Pointer steht in EAX eine Zeile weiter oben sehen wir das es wieder ein Pointer ist + ein andere Pointer*4.

    Diese stehen in den Zeilen darüber der zweite Pointer ist also 102714 + Pointer 102370 * 4.

    Noch ein Stück weiter ob sehen wir das unsere dritter Pointer (Pointer 102370 * 4) in ECX geschrieben wird „MOV ECX, 102370“ und dann der Wert von EAX hinein geschrieben wird „MOV DWORD PTR [ECX], EAX“. Also steht usner Offset für den zweiten Pointer („EBX*4”) in Wirklichkeit in in EAX bzw. wird dort hinein geschrieben.

    Darüber sehen wir „MOV EAX, EBX“ das heißt der Wert in EAX, der unser Offset enthalt kommt aus EBX. Jetzt suchen wir also nach dem was in EBX steht und wir finden direkt darüber „POP EBX“ POP bedeutet, dass es der oberste Wert vom Stack geholt wird. Auf den Stack kann mit PUSH etwas „drauf gelegt“ werden. Unser PUSH ist wieder schnell gefunden „PUSH EAX“, also kucken wir wieder nach EAX und da haben wir auch schon einen statischen Wert, also ein Wert der immer gleich bleibt, gefunden „MOV EAX, 1“ hier wird nun 1 in das Register geschrieben, wandert dann über den Pointer in das Offset und wird mal 4 genommen, unser endgültiges Offset ist also 4!

     

    Wir fassen zusammen:

     

    Die Adresse für das Leben steht in einem Pointer in „EAX“ + Offset 30.

    Der Pointer in EAX kommt von EAX + 4 (<-Das ist das endgültige Offset das wir gerade gefunden haben!). Der zweite Pointer in EAX lautet 102714.

     

     

    Jetzt müssen wir uns die Adresse(n) und das Offset(s) auf schreiben und können die Fenster wieder schließen. Klickt auf Adresse hinzufügen (Das weiße Blatt), gebt als Adresse 0 (Wir lesen sie ja aus den Pointer aus) ein und benennt das ganze.

    Bei MHS kann man die Pointer Geschichte direkt in eine Zeile geschrieben werden („Normal Adress“-> unter „Complex“ das Eingabefeld mit []). Ihr müsst „Use Complex Adress“ aktivieren.

     

    post-1277-1252322450_thumb.png

     

    Zu unserem Pointer, wir fangen von hinten an, also Pointer 2 (Wichtig ist 0x, weil es sich bei Adressen um Hexadezimale Zahlen handelt):

     

    [102714] Die Eckigen Klammer zeigen an, dass es sich um einen Pointer handelt und lesen aus auf welche Adresse erzeigt. Jetzt kommt unser Offset (+4) dazu:

     

    [ [102714] + 0x4 ] Da es sich bei dem ganzen auch um einen Pointer handelt kommen die Eckigen Klammern wieder drum. Für den ersten Pointer hatten wir auch ein Offset (+30):

     

    ( [ [102714] + 0x4 ] + 0x30 ) Mit den Rundenklammern zeigen wir an, dass unsere Eingabe vollständig ist. Tipp: Ihr könnt auch weitere Klammer (wie in Mathe) verwenden, wichtig ist nur, dass es ganz Außen welche gibt!

     

    Edit: Wie es scheint hat MHS einen kleinen Bug, ihr müsst oben ein Modul auswählen, auch wenn es keine Auswirkung hat!

     

    Speicher euere Komplette Liste mit allen Adressen die ihr zusammen getragen habt oder Schreibt die Adressen (und bei Pointer auch das Offset) auf.

     

     

    Credits

    http://www.ghbsys.net/forum/gamehackin...owto-i-ger.html (Auch ein tolles Tut, mit dem hab ich gelernt wie man Pointer findet.)

    PicPick (Für die Tollen ScreenShots)

     

     

    PostScript

    Wenn euch das Tut gefällt und ihr euch bedanken wollt drückt doch bitte den „Thanks“-Button und schreibt nicht „thx“, „danke“, etc. Dann kann ich nählich auf Frage und Anregungen eingehen und muss mich nicht durch unnütze Beiträge scrollen.

     

    Wer Kritik, Anregung oder Verbesserungsvorschläge hat, immer her damit.

    Im Anhang ist noch das Orginal als .doc.

     

     

    Copyright & Leeching

    © 2009 [bRN] SWW13

     

    Bitte kopiert mein(e) Tutorial(s) nicht, ihr dürft aber gerne verlinken!

    _BRN__Hack_Tut____1_Adressen__MHS_.doc

    Edited by SWW13
    Link to comment
    Share on other sites

    • 1 year later...

    Ich hab ein Problem mit dem Memory Hack System.

    1. Ich starte es.

    2. Ich attache es zu meinem Spiele-Prozess.

    3. Ich starte einen Data-Type-Search. (Long, Exact Value)

     

    Egal nach was für einer Value ich suche, wenn ich auf okay klicke kommt SOFORT eine MessageBox: "No results found"

    Aber das ist so schnell, dass er garnicht gesucht haben kann.

     

    Muss ich irgendwas umstellen?

    Mein Betriebssystem ist Windows 7 x32bit und das MHS wird im Administrator-Modus ausgeführt.

    Link to comment
    Share on other sites

    Ich hab ein Problem mit dem Memory Hack System.

    1. Ich starte es.

    2. Ich attache es zu meinem Spiele-Prozess.

    3. Ich starte einen Data-Type-Search. (Long, Exact Value)

     

    Egal nach was für einer Value ich suche, wenn ich auf okay klicke kommt SOFORT eine MessageBox: "No results found"

    Aber das ist so schnell, dass er garnicht gesucht haben kann.

     

    Muss ich irgendwas umstellen?

    Mein Betriebssystem ist Windows 7 x32bit und das MHS wird im Administrator-Modus ausgeführt.

     

    Hey,

    hast du schon mal versucht bei einem anderen Spiel/Program zu suchen? Am besten etwas ganz einfaches, z.B. in Explorer.exe (Nur um zusehen ob er dort auch nichts findet).

    Wenn er dort etwas was findet scheint es am Spiel zuliegen und es hat vermutlich irgend ein AntiCheat Schutz. Versuchs vllt. mal mit CheatEngine.

    Wenn du dort auch nichts findet, probier mal an den Sucheinstellungen rum oder lad dir das MHS neu runter und versuch es nochmal.

     

    Und wie ich im nach hinein festgestellt hab funktioniert meine Pointer Suchmethode (fast) nie... Aber das ist z.Z. ja nicht dein Problem, wenn du dann auf Pointer suche bist, wird dir Google helfen O.o

     

    MfG SWW13

    Link to comment
    Share on other sites

    Guest
    This topic is now closed to further replies.
     Share

    • Recently Browsing   0 members

      • No registered users viewing this page.
    ×
    ×
    • Create New...