BasePointer richtig suchen

06/01/2012 20:00 .Scare™#1
Hallo E*PvP

Ich möchte mit dem Programmieren in Richtung Game Hacking gehen und dazu möchte ich mit MemoryHacks arbeiten.

nun wollte ich kleine anfangen und Solitär "hacken" =)

mit cheatengine geht das auch wunderbar. nur habe ich nicht den BasePointer, ich habe 3 Pointer die auf die Selbe Adresse gehen mit den punkten.

nur wie finde ich nun den BasePointer??

wehre über jede Hilfe dankbar.

mfg

edit:

ich würde mir auch die mühe machen wen ich weis wie es geht ein sauberes tut zu schreiben.

/edit
06/01/2012 20:10 nkkk#2
enweder du guckst dir den assembler code an um das zu untersuchen, was schwierig ist für anfänger.

oder du probierst einfach alle 3 werte durch, also nimmt den ersten versuchst auf ne base adresse zu kommen und wenn das nicht klappt nimmst du den zweiten...
06/01/2012 20:36 .Scare™#3
wen ich die 3 werte habe, wie suche ich von denen dann den Basewert?

Hier ein paar pics=)

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

ist hier nun der BasePointer 005BA590 ?
das was da in der mitte steht? oder muss ich da noch was machen? =)

hoffe es hilft mir jemand

und thx @ nkkk für die rasche Antwort
06/01/2012 21:42 Dr. Coxxy#4
new scan -> 4 Bytes -> Hex -> "005BA590"

wenn du ne grüne (statische) Adresse findest hast du eine adresse die sich nicht mehr ändert, diese kannst du dann hinzufügen indem du auf "Add Adress manually" klickst, häkchen bei pointer, adresse eintragen, pointer hinzufügen und als offset "14" nimmst.

ich empfehle dir das cheatengine beiliegende tutorial komplett durchzumachen, findest du im startmenü -> cheatengine -> tutorial.exe
06/01/2012 22:05 .Scare™#5
perfekt, das hat geklappt mit einer Ausnahme, ich bekam keinen grünen wert.

sprich immer wen ich das spiel neu starte ist der wert ein anderer und mein prog geht nicht mehr.

mfg and Thanks

Edit: das mit dem Tutorial ist nett, doch wen ich die Hälfte nicht verstehe weil es auf englisch ist, komm ich auch nicht weiter =) hehe
06/01/2012 22:16 Dr. Coxxy#6
fehlende englischkenntnisse sind natürlich doof :P

das mit der nicht grünen adresse kannst du korrigieren indem du die gleiche methode auf deine gefundene hex adresse anwendest, wieder "search what accesses this adress" und genau das gleiche spiel wieder, bis du eine grüne adresse hast.

dementsprechend bekommt dann deine per hand hinzugefügte adresse auch wieder ein pointerlevel und passenden offset dazu.
06/02/2012 00:26 .Scare™#7
hehe, joa, ich kann schon englisch, nur sobald es ins Fach Chinesisch rein geht bin ich am Ende.

die Tuts habe ich durchgemacht, hat mir ein wenig geholfen.. muss ich zugeben =)

nur bin ich mir nie sicher was was ist. ich hatte einen grünen wert, konnte mit dem aber nichts anstellen. =) es wahren auch nicht nur eine 0 sondern 6 bei dem wert.

ich werde Morgen wen ich wider bisschen heller im Kopf bin ein Bildchen hoch laden mit den Werten drauf.

mfg

und danke dir das du mir Hilfst.

EDIT: hier ist nun noch ein vid davon wie ich es bisher versucht habe.

[Only registered and activated users can see links. Click Here To Register...]
06/02/2012 17:21 Dr. Coxxy#8
ja, musst nur das gleiche wieder machen bis du ne statische adresse hast.
guckst also was auf die von dir gefundene adresse zugreift, wieder die geratene pointer value suchen, bis du ne grüne hast (immer die offsets merken).

wenn du bei der grünen bist, die als ptr hinzufügen, die gemerkten offsets eintragen -> done.
06/02/2012 18:41 .Scare™#9
habe ich gemacht, doch wen ich das Spiel neu starte ist es wider am ar.... =)

dan geht wider nichts mehr.
es muss ja eig. möglich sein das man eine Adresse findet die sich nicht mehr ändert. sonst gebe es ja keine Trainer =)

und den wert möchte ich gerne haben, sprich die Adresse das ich sie in meinem VB.Net prog eingeben kann. mfg

aber du hast mir schon sehr geholfen.

danke
06/02/2012 18:50 Dr. Coxxy#10
diese grüne adresse die du gefunden hast, ist immer an der gleichen stelle...

ist genau das, was du suchst^^
06/02/2012 18:53 .Scare™#11
hehe, nur kann ich nichts damit anfangen.

Prozess1 = Solitaire (.exe)
MyLives = textBox1.text
"4" = bytes

Writememory(Prozess1, "&H0060A5A4", MyLives, "4")

wen ich das spiel neu starte geht es nicht mehr.. =)
06/02/2012 21:17 2n0w#12
Ich nehme an, du schreibst jetzt direkt auf die grüne Adresse?
In dem Fall würdest du aber statt deinem Wert zu ändern den Pointer zu deinem Wert irgendwo anders hin zeigen lassen. Kann es sein das es daran liegt?
Du müsstest nämlich über den Basepointer den nächsten Pointer zuerst auslesen, und dann den verwenden. Muss zugeben, habe das selbst noch nie gemacht, aber es klingt logisch ^^
Was soll denn das denn für ein Code sein da oben? :O
Kenne die Sprache nicht, erscheint mir recht seltsam eine Adresse als String zu übergeben und das auch noch mit einem '&' davor ^^
06/02/2012 22:44 .Scare™#13
hehe das ist vb.net

PHP Code:
Private Sub SetLives()

        
Writememory(Prozess1"&H0060A5A4"MyLives"4")

    
End Sub 
hm, ja logisch schon aber irgent wie will das ganze nicht so wie ich =)

was ich gemacht habe. die grüne addresse habe ich mit doppelklick nach unten geholt. dan doppelklick auf die addresse hacken bei pointer ren ind dan die addrese von der grünen addresse eingegeben bei offset habe ich die 2 offset eingegeben die ich bei den forigen beiden werten bekommen habe.

mfg