Folgende Warnungen sind aufgetreten:
Warning [2] preg_match_all(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 1007 - File: inc/highlighter.php PHP 7.4.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/highlighter.php 1007 preg_match_all
/inc/highlighter.php 353 generic_highlight
/inc/plugins/coolcode.php 133 php_highlight
/inc/plugins/coolcode.php 61 coolcode_run
/inc/class_plugins.php 139 coolcode_end
/inc/class_parser.php 232 pluginSystem->run_hooks
/printthread.php 184 postParser->parse_message
Warning [2] Invalid argument supplied for foreach() - Line: 1008 - File: inc/highlighter.php PHP 7.4.33 (Linux)
File Line Function
/inc/highlighter.php 1008 errorHandler->error
/inc/highlighter.php 353 generic_highlight
/inc/plugins/coolcode.php 133 php_highlight
/inc/plugins/coolcode.php 61 coolcode_run
/inc/class_plugins.php 139 coolcode_end
/inc/class_parser.php 232 pluginSystem->run_hooks
/printthread.php 184 postParser->parse_message
Warning [2] preg_match_all(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 1007 - File: inc/highlighter.php PHP 7.4.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/highlighter.php 1007 preg_match_all
/inc/highlighter.php 353 generic_highlight
/inc/plugins/coolcode.php 133 php_highlight
/inc/plugins/coolcode.php 61 coolcode_run
/inc/class_plugins.php 139 coolcode_end
/inc/class_parser.php 232 pluginSystem->run_hooks
/printthread.php 184 postParser->parse_message
Warning [2] Invalid argument supplied for foreach() - Line: 1008 - File: inc/highlighter.php PHP 7.4.33 (Linux)
File Line Function
/inc/highlighter.php 1008 errorHandler->error
/inc/highlighter.php 353 generic_highlight
/inc/plugins/coolcode.php 133 php_highlight
/inc/plugins/coolcode.php 61 coolcode_run
/inc/class_plugins.php 139 coolcode_end
/inc/class_parser.php 232 pluginSystem->run_hooks
/printthread.php 184 postParser->parse_message
Warning [2] preg_match_all(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 1007 - File: inc/highlighter.php PHP 7.4.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/highlighter.php 1007 preg_match_all
/inc/highlighter.php 353 generic_highlight
/inc/plugins/coolcode.php 133 php_highlight
/inc/plugins/coolcode.php 61 coolcode_run
/inc/class_plugins.php 139 coolcode_end
/inc/class_parser.php 232 pluginSystem->run_hooks
/printthread.php 184 postParser->parse_message
Warning [2] Invalid argument supplied for foreach() - Line: 1008 - File: inc/highlighter.php PHP 7.4.33 (Linux)
File Line Function
/inc/highlighter.php 1008 errorHandler->error
/inc/highlighter.php 353 generic_highlight
/inc/plugins/coolcode.php 133 php_highlight
/inc/plugins/coolcode.php 61 coolcode_run
/inc/class_plugins.php 139 coolcode_end
/inc/class_parser.php 232 pluginSystem->run_hooks
/printthread.php 184 postParser->parse_message
Warning [2] preg_match_all(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 1007 - File: inc/highlighter.php PHP 7.4.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/highlighter.php 1007 preg_match_all
/inc/highlighter.php 353 generic_highlight
/inc/plugins/coolcode.php 133 php_highlight
/inc/plugins/coolcode.php 61 coolcode_run
/inc/class_plugins.php 139 coolcode_end
/inc/class_parser.php 232 pluginSystem->run_hooks
/printthread.php 184 postParser->parse_message
Warning [2] Invalid argument supplied for foreach() - Line: 1008 - File: inc/highlighter.php PHP 7.4.33 (Linux)
File Line Function
/inc/highlighter.php 1008 errorHandler->error
/inc/highlighter.php 353 generic_highlight
/inc/plugins/coolcode.php 133 php_highlight
/inc/plugins/coolcode.php 61 coolcode_run
/inc/class_plugins.php 139 coolcode_end
/inc/class_parser.php 232 pluginSystem->run_hooks
/printthread.php 184 postParser->parse_message



Home of Gamehacking - Archiv
Kleine pointer frage - Druckversion

+- Home of Gamehacking - Archiv (http://archiv-homeofgamehacking.de)
+-- Forum: Gamehacking (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=3)
+--- Forum: Gamehacking (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=6)
+--- Thema: Kleine pointer frage (/showthread.php?tid=604)

Seiten: 1 2


Kleine pointer frage - unverschämt - 07.11.2011

hi community,

also wollte mal was ganz einfaches wissen!
Und zwar wenn ich ja mit cheat engine eine addresse finde und sie dynamisch ist....
muss ich ja dann so zusagen die base addresse finden die auf jedenfall statisch ist sein muss.

Ist doch richtig was ich schreibe bis hier hin oder ?

So es geht weiter mit meiner frage.... wenn jetzt z.b. die erste addresse dynamisch ist und ich weiter suche.... finde wieder eine dynamische und danach kommt die statische addresse.

1.dynamische addresse
2.dynamische addresse
3statische addresse

Nun kommt meine eigentliche frage und zwar.....
wie rum muss ich dies nun bei cheat engine eintragen ?
Ich habe es immer nur so hinbekommen das ich von der (3)statische addresse bis zur ersten (1)dynamischen addresse es eintragen konnte da es anderst rum irgentwie nicht ging!
Dann habe ich ja sozusagen auf die erste (1)dynamische addresse gezeigt (gepointed xD) was mir doch nach einem neustart des games nichts bringt!
Oder???
Muss es aber nicht eigentlich anderst herum sein? also von der (1)dynamischen addresse bis auf die (3) statische addresse???

Hoffe ihr versteht mein problem!

Grund dieses frage ist das ich dachte ich habe das mit pointern und multilevelpointer und base addresse und base pointer alles verstanden.
Aber versuche jetzt seit einem tag schon bei solitäre die Base addresse zu finden.
Damit meine cheat engine speicherrung dann auch nach einem game neustart geht.Aber habe es vermutlich noch nicht verstanden!

mfg unverschämt


RE: Kleine pointer frage - Acubra - 07.11.2011

(07.11.2011, 17:03)unverschämt schrieb: hi community,

also wollte mal was ganz einfaches wissen!
Und zwar wenn ich ja mit cheat engine eine addresse finde und sie dynamisch ist....
muss ich ja dann so zusagen die base addresse finden die auf jedenfall statisch ist sein muss.

Ist doch richtig was ich schreibe bis hier hin oder ?
Hey,
bis dahin fast richtig. Du musst nicht unbedingt die BaseAdresse finden, sondern irgendeine statische Adresse, welche du dann als "BaseAdresse" verwenden kannst.

(07.11.2011, 17:03)unverschämt schrieb: So es geht weiter mit meiner frage.... wenn jetzt z.b. die erste addresse dynamisch ist und ich weiter suche.... finde wieder eine dynamische und danach kommt die statische addresse.

1.dynamische addresse
2.dynamische addresse
3statische addresse

Nun kommt meine eigentliche frage und zwar.....
wie rum muss ich dies nun bei cheat engine eintragen ?
Bei CheatEngine musst du zuerst die "BaseAdresse" eintragen und dann das Offset, welches zur 2.dynamischen Adresse führt. Darauf addierst du dann das 2.Offset um zur 1.dynamischen Adresse zu kommen u.s.w.

(07.11.2011, 17:03)unverschämt schrieb: Ich habe es immer nur so hinbekommen das ich von der (3)statische addresse bis zur ersten (1)dynamischen addresse es eintragen konnte da es anderst rum irgentwie nicht ging!
Dann habe ich ja sozusagen auf die erste (1)dynamische addresse gezeigt (gepointed xD) was mir doch nach einem neustart des games nichts bringt!
Oder???
Das bringt dir, insofern die Offsets sich beim Programmneustart nicht ändern, das du immer, ausgehend von einer statischen Adresse, auf eine dynamische zeigst, welche immer die gleiche Variable beschreibt (z.B Healthpoints).

(07.11.2011, 17:03)unverschämt schrieb: Muss es aber nicht eigentlich anderst herum sein? also von der (1)dynamischen addresse bis auf die (3) statische addresse???
Nein, da du ja nicht die statische Adresse suchst, sondern die Dynamische.




RE: Kleine pointer frage - iNvIcTUs oRCuS - 07.11.2011

Ich denke er hat sich einfach nur unglücklich ausgedrückt. Was er mit Basisadresse meint denk ich ist der Basispointer. Aber angesichts dessen das man eine statische Adresse sucht muss man zwangsweise auch die Basisadresse wissen. Aber die stellt in der Regel ja keine Probleme dar. Im meisten aller Fälle ist ja die Basisadresse die 0x400000h. Nicht immer, ich weiß, aber in der Regel schon.

Wenn man jetzt ein Spiel hat zu dem man sich nen statischen Pointer (Basispointer) sucht, dann geschieht das bei Cheat Engine natürlich in umgekehrter Reihenfolge. Also nur für das suchen, für das spätere Wiederfinden der richtigen Adresse, z.B. für die Health, geschieht das natürlich immer ausgehend vom statischen Pointer.

Ich hab hier mal nen Beispiel aus Divinity II -Dragon Knight Saga...
[attachment=595]

Ganz unten ist die statische Adresse zu sehen welche den ersten Pointer darstellt. Wird diese Adresse ausgelesen erhält man den Wert 0xA54096Ch, welches ja auch wieder eine Adresse darstellt. Zu diesem Wert wird der HEX-Wert 30 hinzuaddiert und man erhält das Ergebnis 0xA54099Ch. Diese Adresse stellt den 2. Pointer dar. Diesen müssen wir auch wieder auslesen und zu dem ausgelesenen Wert den HEX-Wert A4C hinzuaddieren. Das Ergebnis von 0xA6B226Ch stellt dann somit auch den, in diesem Fall, 3. und letzten Pointer dar. Dieser Pointer zeigt auf Adresse 0x2BC8C62Ch. Wenn wir zu dieser Adresse den HEX-Wert 18C hinzuaddieren haben wir schließlich auch die Adresse unserer tatsächlichen Health. Also um genau zu sein die Adresse 0x2BC8C7B8.

MFG
sILeNt heLLsCrEAm


RE: Kleine pointer frage - unverschämt - 08.11.2011

hi community,
danke erstmal....
Also habe ich es ja richtig rum gemacht... aber warum hat es nach dem neustart des games nicht mehr reagiert ?
Muss ich auch bei der statischen addresse nur noch die game.exe mit eintragen und dann wäre doch alles richtig ?
Werde es heute aber nochmal versuchen.


RE: Kleine pointer frage - iNvIcTUs oRCuS - 08.11.2011

Du wirst ganz einfach nicht den richtigen Basispointer gefunden haben so einfach wirds sein. Oder Du hast irgendwo nen verkehrtes Offset hinzuaddiert. Oder es liegt ganz einfach daran das es in deinem Fall nicht möglich ist über Pointer zum Ziel zu kommen.


RE: Kleine pointer frage - unverschämt - 08.11.2011

hallo community,

so bin grade dabei alles zu testen!

Test Start !!!

-game start
-cheat engine start
-addressen suchen -->alle gefunden --->1addresse DMA ,2addresse DMA ,3addresse Statische
-cheat engine --> valve verändert <---geht auch valve wurde in game verändert
-cheat engine --> pointer gesetzt... 3addresse + 2addresse = 1addresse DMA die ich fand^^ <--- valve wird angezeigt und kann auch verändert werden und wird auch in game verändert
-cheat engine --> valve über gesetzen pointer verändert <---geht auch valve wurde in game verändert
-autoit script mal gemacht mit pointer offset mit drin und valve verändert <--- valve wird in game geändert

hier der easy code :

PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#RequireAdmin
#include <Pointer.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Mini Solitaire Cheat", 282, 42, 786, 408)
$Input1 = GUICtrlCreateInput("", 8, 8, 121, 21)
$Button1 = GUICtrlCreateButton("Memory Ueberschreiben", 136, 8, 137, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$PID = 0
Do
    $PID = ProcessExists("Solitaire.exe")
Until $PID > 0

SetPrivilege("SeDebugPrivilege",1)

$Address = 0x00757074
Dim $Offset[3] = [0 , 0x2C , 0x08]

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			$Wertvariable = GUICtrlRead($Input1)
			$Handle = _MemoryOpen($PID)
			$Write = _MemoryPointerWrite($Address,$Handle,$Offset,$Wertvariable,"dword")
	EndSwitch
WEnd


So wenn ja nun alles geht !!!(hat ja alles geklapt)..... sollte ja nach einem neustart des games auch das autoit script und meine cheat engine speicherung vom pointer ja wieder reagieren und funktionieren oder nicht???
....ich warte mal 30 min auf antwort bevor ich nun das game beende.Bitte helft mir schnell schneller am schnellsten xD

ps:falls einer es auch testen möchtet mit dem autoit script braucht er die pointer.au3 die im anhang ist!

mfg unverschämt


RE: Kleine pointer frage - Acubra - 09.11.2011

Hey,
wenn die statische Adresse nach dem Neustart des Programms immer noch die gleiche ist, dann sollte alles funktionieren. Wenn nicht, musst du dir ne neue statische Adresse suchen.


RE: Kleine pointer frage - unverschämt - 09.11.2011

ich finde ja immer dann am schluss 3 addressen und eine davon ist grün also statisch die habe ich dann genommen! also sollte es ja gehen da ja nur 1grüne addresse war?


RE: Kleine pointer frage - iNvIcTUs oRCuS - 09.11.2011

Auf nem 64-Bit Betriebssystem landest Du auch per Pointersuche, ob manuell oder automatisch(???), auch mal schnell in einer "wow64*.dll". Wobei der Stern z.B. auch für cpu stehen kann. Ergo -> auf einem 32-Bit System würde das dann schon wieder nicht mehr funktionieren...

(08.11.2011, 23:37)unverschämt schrieb: ...
ps:falls einer es auch testen möchtet mit dem autoit script braucht er die pointer.au3 die im anhang ist !er müsste auch die offsets und addresse anpassen aber das geht ja schnell...
Wenn Du das über Pointer gelöst hast...? Warum muss dann jemand, auch wenn er es nur testen möchte, Adressen und Offsets anpassen??? Versteh ich grad net. Genau das ist ja der Sinn der Sache mit den Pointern, das diese nach einem Neustart und auch auf anderen Systemen funktionieren. Also entweder ich hab jetz nen Denkfehler, davon geh ich auch mal aus, oder Du hast die Sache mit den Pointern doch nicht ganz verstanden...

In diesem Sinne
Peace...


RE: Kleine pointer frage - unverschämt - 09.11.2011

(09.11.2011, 08:59)sILeNt heLLsCrEAm schrieb: Auf nem 64-Bit Betriebssystem landest Du auch per Pointersuche, ob manuell oder automatisch(???), auch mal schnell in einer "wow64*.dll". Wobei der Stern z.B. auch für cpu stehen kann. Ergo -> auf einem 32-Bit System würde das dann schon wieder nicht mehr funktionieren...
Das was du da schreibst verstehe ich nicht wirklich.....!
Habe windows 7 86x also 32bit^^

(09.11.2011, 08:59)sILeNt heLLsCrEAm schrieb: Wenn Du das über Pointer gelöst hast...? Warum muss dann jemand, auch wenn er es nur testen möchte, Adressen und Offsets anpassen??? Versteh ich grad net. Genau das ist ja der Sinn der Sache mit den Pointern, das diese nach einem Neustart und auch auf anderen Systemen funktionieren. Also entweder ich hab jetz nen Denkfehler, davon geh ich auch mal aus, oder Du hast die Sache mit den Pointern doch nicht ganz verstanden...
In diesem Sinne
Peace...
Ja stimmt normal sollte keiner jetzt addressen und offset anpassen müssen sollte so gehen da ich es ja über pointer gemacht habe ^^(habe oberen beitrag editiert)

ok werde nun gleich mal ein neustart des games machen ^^ und schauen ob es danach noch geht ! sollte es ja oder nicht?

mfg unverschämt