Autor Beitrag
thebe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: So 16.03.03 16:49 
Halli Hallo *in die Runde wink und Kekse verteil*

Ich bin immo dabei an nem Spiel die Exe Datei im Speicher zu verändern (für nen Trainer) und versuch nun auch Strings in der Exe zu verändern. Ich hab per WinHex die Position des Strings rausgekriegt und versuch den String zu überschreiben was aber nit klappt.

Ich erstell den Prozess der Exe selbst mit CreateProcess und hol mir danach per OpenProcess die ID mit PROCESS_ALL_ACCESS, sprich ich sollte uneingeschränkt drauf schreiben können. Andere Werte kann ich in den Speicher reinschreiben, also hab ich auch genug Privilegien.

Kann es angehen daß Strings im Speicher bestimmten Restriktionen unterliegen drauf zuzugreifen ?

Und dann hab ich noch ne Frage, nämlich isses möglich bestimmte Prozesse zu blocken sodaß kein anderes Programm drauf zugreifen kann ?

Scho ma vielen Dank für etwaige Antworten :)

Grüße Thebe
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 16.03.03 19:28 
Die Exe-Datei liegt nicht 1:1 im Speicher. Deine Strings musst du schon im Speicher suchen (ReadProcessMemory) und nicht einfach die Position auf der Platte nehmen.

_________________
Ist Zeit wirklich Geld?
thebe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP Home
D6 Enterprise
BeitragVerfasst: So 16.03.03 20:18 
Ich habe die Strings auch im Speicher lokalisiert
WinHex hat nen RAM-Editor Modus womit man im Speicher suchen kann :)

Sprich: ich hab die richtige Position, kann aber trotzdem nit auffe Strings drauf zugreifen. BTW inner Exe selber findet man den einen String den ich ändern will nit. Könnte also tatsächlich nen extra Speicherblock sein wo Variablen drinne sind und nit das Abbild der Exe oder so.
XtrmK3v0r
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mi 26.03.03 23:06 
Möglicherweise befinden sich diese Strings die du ja verändern möchtest in einem Speicherbereich dessen Pages beispielsweise nur auf lesbar gestellt sind. Du müsstest dann versuchen mittels VirtualProtect den Zugriffsschutz zu ändern also am besten auf PAGE_READWRITE. Um dies allerdings tun zu können musst du versuchen den Prozess mit PROCESS_VM_OPERATION zu öffnen. Sollte dies nicht funktionieren dann fehlen dir eben die Rechte dazu :D