CE Values freezen geht nicht...

07/09/2013 15:39 lprulzcrossover#1
Hi Leute,

wollte heute mal ein wenig mit Cheat Engine an Borderlands 1 herumspielen...
Die Adresse vom Boost herausfinden und zu freezen habe ich auch problemlos hinbekommen, allerdings haperts an allen anderen Stellen..

Z.B. hatte ich nach der health-Adresse gesucht und auch gefunden, wenn ich sie allerdings freeze (das häkchen im Kästchen setze) und einen beliebigen value eingebe, verändert sich nur ab und zu für den Bruchteil einer Sekunde etwas, im Spiel praktisch nicht zu sehen.

Bin zwar recht unerfahren mit Cheat Engine, jedoch habe ich per SuFu ein solches Problem nirgends gefunden...

Woran kann's also liegen?

MfG

e: Hab's mal in die autoit-section gepackt, da ich keine spezielle CE-section gefudnen habe und auch andere CE-posts hier zu finden sind...
07/09/2013 15:43 YatoDev#2
Quote:
Originally Posted by lprulzcrossover View Post
Woran kann's also liegen?
wahrscheinlich nicht an autoit da bin ich mir sicher
07/09/2013 16:13 SpieleHacksInfo#3
frezzen bedeutet, dass ce die zahl dauerhaft auf eine bestimmte zahl setzt, wenn die zahl aber als read only notiert ist funktioniert das nicht. meistens gibt es dann mehrere adressen und eine funktioniert
07/09/2013 17:17 -STORM-#4
Erstmal bedeutet Freezen nicht, dass ein Wert "dauerhaft" geändert wird, sondern nur, dass er in einem kurzen Intervall immer wieder geändert wird.
Diesen Intervall findet man unter Settings -> General Settings -> Freeze Interval.
Default ist dabei 100ms, evtl. hilft es, wenn du den Intervall verringerst, beispielsweise auf 10ms. Natürlich geht dann aber dementsprechend mehr Rechenpower des CPU für CE drauf.

Wenn es um ein Online Game geht, wird der Wert wahrscheinlich serverside kontrolliert, sodass du mit CE nichts erreichen kannst.

Ist das nicht der Fall, könntest du außerdem probieren, über "find out what writes to this address" die Stelle zu finden, an der der Wert vom Spiel verändert wird und ggf. durch "Replace with code that does nothing" mit NOPs ersetzen, sodass der Wert eben nicht mehr vom Spiel selbst geändert wird.
Es kann auch mehrere solche Stellen geben.
07/09/2013 18:00 SpieleHacksInfo#5
etwas anderes meinte ich nicht ^^
07/10/2013 14:25 lprulzcrossover#6
Quote:
Originally Posted by -STORM- View Post
Diesen Intervall findet man unter Settings -> General Settings -> Freeze Interval.
Default ist dabei 100ms, evtl. hilft es, wenn du den Intervall verringerst, beispielsweise auf 10ms. Natürlich geht dann aber dementsprechend mehr Rechenpower des CPU für CE drauf.
Das hat schonmal nicht geklappt...

Quote:
Originally Posted by -STORM- View Post
Ist das nicht der Fall, könntest du außerdem probieren, über "find out what writes to this address" die Stelle zu finden, an der der Wert vom Spiel verändert wird und ggf. durch "Replace with code that does nothing" mit NOPs ersetzen, sodass der Wert eben nicht mehr vom Spiel selbst geändert wird.
Sobald ich den Deubugger aktiviere, crasht das Spiel und es erscheint folgende Fehlermeldung:

[Only registered and activated users can see links. Click Here To Register...]
(Bildvorschau funktioniert i.wie nicht... oO)

Würde es etwas bringen den Base-pointer für die Adresse zu finden? Hatte es mal mit dem Pointerscan von CE probiert, aber nach dem 3. Durchlauf blieben dauerhaft 1054 Ergebnisse über...
07/10/2013 14:49 -STORM-#7
Offenbar hat das Spiel, das du verwendest, einen Schutz gegen Hacker, der den Debugger erkennt.
Was sicherlich funktioniert, wäre, die entsprechende Funktion (i.d.R. isDebuggerPresent) zu verändern, sodass immer 0 zurückgegeben wird. Das ist allerdings etwas komplizierter.
Evtl. reicht es schon, in den Settings (Cheat Engine Settings -> Debugger Settings) als Debugger method statt dem Standard-Debugger "Use windows debugger" den "VEH Debugger" auszuwählen. Der wird von vielen Spielen nicht erkannt.

Zum Pointerscan: Probier mal, die Ergebnisse des Scans zu speichern, das Spiel neu zu starten, die Adresse neu zu finden, und dann im Pointerscan zu überprüfen, welche der Pointer jetzt auf die neue Adresse zeigen. Das sollte die Anzahl deutlich verringern.
Je nach Spiel ist es manchmal auch normal, dass mehrere Pointer für eine Adresse funktionieren. Solange du mit diesen Pointern den gewünschten Wert im Spiel verändern kannst, ist das doch egal.
07/10/2013 16:34 lprulzcrossover#8
Super, der VEH Debugger hat schonmal geklappt! :)

Die NOPs einzusetzen hat aber leider nicht geholfen...

Wenn ich auf "find out what accesses this adress" klicke, steht dort ein mov-Befehl. Bin dann auf "more informations" und hab mir das offset und die Adresse notiert. Als ich nach der Adresse suchte (um die Pointer zu finden) habe ich 202 Ergebnisse bekommen, dessen values, wenn ich sie als pointer hinzufüge, mit meiner Ausgangsadresse übereinstimmen (Es geht um sich automatisch regenerierendes health).

Daher müssten diese ganzen Adressen ja auf die health-Adresse zugreifen oder nicht?:rolleyes:

Warum ich den value nicht freezen kann versteh ich aber immernoch nicht. :D

edit: Hab's endlich gecshafft. Das Problem war, dass mein health bei z.B. 2524 ist, doch die value der Adresse ist i.was mit 6*10^6... Ich hatte also nur die falsche Adresse :s