OldSchoolHack

Register / Login English

C++ FindPattern


icon C++ FindPattern #1

Join Date: Oct 2013

Posts: 2

Hey, bin neu im Forum und hätte auch gleich mal eine Frage zum Pattern.

Also, bisher hab ich ein Bot geschrieben für ein bestimmtes Spiel, jedoch muss ich nach wie vor damit der Ordenlich läuft die Adressen für HP und MP suchen, was auf dauer öde ist.
Deshalb wollt ich mich mal mit Findpattern versuchen. Ich weiß wie die Funktion aufgebaut ist usw., aber ich versteht einfach nicht wie genau ich das angehen soll.

Für HP benutze ich momentan das:
Adresse= 0x007F3A3C;
Offset1= 0xAC;
Offset2= 0x4C;


Weiß aber nicht ob ich dies irgendwie dort rein hauen muss oder die Sachen komplett unnötig sind fürs Pattern?

dwFindPattern((DWORD)hModule, 0x000000,(PBYTE)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xx????xx????xx");


Last edited by SylarDearing (Mon 7. Oct 2013, 18:52)

Reason: no reason given

icon #2

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
Die Pattern erstellst du für die Speicherstellen, an denen du die 3 Werte dann dynamisch auslesen kannst.

__________________

Hallo
icon #3

Join Date: Oct 2013

Posts: 2

Danke für die Antwort schon mal, aber wie genau finde ich die Speicherstellen die ich fürs Pattern benötige
dwFindPattern((DWORD)hModule, 0x000000,(PBYTE)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00""xx????xx????xx")


Wie weiß ich was ich dort: 0x000000, dort \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 und dort xx????xx????xx eingeben muss?


Durch die Tutorials die ich bisher gesehen hab, weiß ich nur das ich es mit Ollydbg irgendwie finden muss.
icon #4

Join Date: Nov 2012

Posts: 5

Wenn du nicht weisst, worum es sich bei den Patterns handelt, solltest du sie auch nicht benutzen.

Um dennoch nicht immer nach den HP und MP suchen zu müssen empfehle ich dir einen Pointer Scan durchzuführen (Feature von Cheat Engine). Wenn du 2-3 mal scannst solltest du recht sicher die gewünschten Addressen finden können.

Jetzt noch eine Kurze erläuterung bzgl. deines ersten Posts:

"Für HP benutze ich momentan das:
Adresse= 0x007F3A3C;
Offset1= 0xAC;
Offset2= 0x4C;"

Diese Addresse + Offsets hat nur entfernt eine Bedeutung für den Patternscan. Über diese Offsets solltest du (wenn du richtig gesucht hast) bei jedem Start des Spiels sofort den Wert der HP finden können.

Gehst du jetzt zu dieser Addresse (vorrausgesetzt dass sich dort die HP befinden) und guckst dir in Olly an, was drum herum für OPcodes sind (Assembler), kannst du daraus ein Pattern zusammenbauen, das meist auch über Patches hinweg noch funktioniert (nicht immer, aber deutlich nachhaltiger als die Addresse+Offset Methode).

MfG