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 (CheatEngine)


    SWW13
     Share

    Recommended Posts

    [bRN] Hack Tut

    #1 Adressen & Pointer finden (CheatEngine)

     

     

    Info

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

    [bRN] Hack Tut - Übersicht

     

     

    Vorraussetzungen

    Cheat Engine.

    Viel Ausdauer, Spaß & Freunde!

     

    Links

    Cheat Engine

    Darkest Island (Das Spiel)

     

    Adressen & Pointer finden

    [Adresse]

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

    Startet eure CE und wählt das Spiel (Data.exe) aus.

     

    post-1277-1252335707_thumb.png

     

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

    Klickt auf „New Scan“ und dann „First Scan“, 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 (Mit „Next Scan“).

     

    post-1277-1252335714_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 unten in der List. Macht einen Doppelklick auf den Wert der Variable in der Liste und gebt einen neuen. Wenn ihr die Variable frieren wollt aktiviert von das Kästchen.

    Wenn sich euer Leben nicht ändert oder es nicht auf den angegeben Wert gefroren wird, versucht den die nächste Adresse, wenn es in der Ergebnis-Liste 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 out what accesses this address” und bestätigt die Meldung mit „Yes”.

    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-1252335719_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 CE die oberste Zeile, scrollt ein bisschen hoch) 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 („Add adress nanually“), benennt das ganze und aktiviert Pointer.

    Klickt solange auf „Add pointer“ bis ihr so viele Pointer habt, wie ihr gefunden habt. Wir hatten zwei, einen mit dem Offset (+30) und einen mit der Adresse 102714 + Offest 4 (unser endgültiges Offset).

    Wir fangen unten mit dem zuletzt gefunden Pointer an, also Adresse & Offset 4. Wir können die Zahlen ohne 0x eingeben, weil CheatEngine nur mit Hexadezimalen Zahlen arbeitet(bei Adresse & Offset).

    Jetzt brauchen wir nur noch das Offset vom ersten Pointer (+30). Und fertig!

     

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

     

    post-1277-1252335725_thumb.png

     

     

    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__CE_.doc

    • Upvote 1
    Link to comment
    Share on other sites

    • 2 weeks later...
    • 1 year later...

    danke am anfang etwas kompüliziert aber durch die bilder vollkommen verstehbar O.o.

    mal gucken was ich in warrock noch so finde xD

    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...