Entwickler-Ecke

Windows API - Fragen bzgl. Zugriffe auf Prozesse


thebe - So 16.03.03 16:49
Titel: Fragen bzgl. Zugriffe auf Prozesse
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 - 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.


thebe - 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 - 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