Forum: Programmieren allgemein
by c113plpbr,
15. Mai 2005
Naja, und jetzt durchsuchst du den Speicher nach einer variable, die den wert dieser speicheradresse enthält. Solange dein wert in keiner struktur (record, o.ä.) ist, solltest du etwas finden. Wenn nicht, musst du eben schauen, wo die struktur "beginnt", und nach dieser adresse suchen. Natürlich, ganz besch*** ist es, wenn die Werte in einer dynamische liste stehen ...
Besorg dir Ollydbg, der...
Forum: Programmieren allgemein
by c113plpbr,
15. Mai 2005
Naja, da solltest du dir mal ganz grundlegende Fragen stellen:
Wenn die Werte bei jedem neustart des Spieles an einer anderen Stelle im Speicher stehen, woher weis dann das Spiel wo sie sich befinden? Ganz einfach, es speichert sich auch irgendwo einen Pointer, auf diesen Wert, und dieser hat oft eine feste Adresse. Wenn nicht, kann es natürlich sein, dass sich dieser Pointer auch irgendwo in...
Forum: Programmieren allgemein
by c113plpbr,
15. Mai 2005
Autsch ...
*Uargs* ;)
Methode 1 und (eine etwas abgewandelte) methode 2 haben einiges gemeinsam, denn den LoadLibrary-Befehl muss ja ebenfalls der "fremde" Prozess aufrufen. Und das geht mit "methode 2": Per VirtualAllocEx Speicher reservieren, per WriteProcessMemory den LoadLibrary Code "injezieren", und schliesslich per CreateRemoteThread aufrufen. D.h. "methode 1" ist also nur eine art...