Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8311[/thread]

RAM Manipulieren (Trainer)

Leser: 1


<< >> 9 Einträge, 1 Seite
gORDon_vdLg
 2006-09-10 20:21
#69613 #69613
User since
2006-06-29
35 Artikel
BenutzerIn
[default_avatar]
Weis einer von euch wie man Trainer in Perl schreiben kann?
Ich möchte z.B. 0815 in die Adresse 123456 schreiben, geht das überhaupt in Perl? Wenn ja wie?
Ronnie
 2006-09-10 21:47
#69614 #69614
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Da hat das Betriebssystem was dagegen. Es ist viel leichter Speicherstände zu manipulieren.
gORDon_vdLg
 2006-09-11 17:32
#69615 #69615
User since
2006-06-29
35 Artikel
BenutzerIn
[default_avatar]
Hä? Warum hat das Betribssystem bei Perl was dagegen und bei anderen Sprachen nicht? Spielstände manipuliere ich auch, aber ich hab die möglichkeiten von Programmen wie z.B. RAM Cheat entdeckt und wollte mal probieren einen Selbstständigen Trainer zu schreiben.
fraggs
 2006-09-11 18:02
#69616 #69616
User since
2006-09-11
179 Artikel
BenutzerIn
[Homepage] [default_avatar]
off topic ... fuer was fuer ein spiel ist denn das ?

ok man kann c routinen von perl auf rufen c routines in perl
aber nicht direct RAM manipulieren in perl.\n\n

<!--EDIT|fraggs|1157983480-->
mmm twix
murphy
 2006-09-11 18:04
#69617 #69617
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Ein modernes Betriebssystem hat unabhaengig von der verwendeten Programmiersprache etwas dagegen, wenn man versucht in Speicher zu schreiben, der einem selbst nicht gehoert. Um es doch zu koennen, muss man gewisse systemabhaengige Tricks anwenden -- in der Regel laeuft es darauf hinaus, dass man die gleiche API verwendet wie ein Debugger.

Plattformunabhaengig laesst sich das jedenfalls nicht loesen. Unter Unix solltest Du Dir die ptrace Familie von Systemcalls ansehen, unter Windoof gibts die Win32 Debug API, mit der ich mich aber nicht auskenne. Auf jeden Fall brauchst Du dann noch ein Modul oder mit XSUB oder Swig selbst gestrickten Code um von Perl aus auf die entsprechenden Betriebssystemfunktionen zuzugreifen.

Schau dir mal CPAN:Sys::Ptrace an, falls dich eine *NIX Loesung interessiert.
When C++ is your hammer, every problem looks like your thumb.
gORDon_vdLg
 2006-09-11 22:12
#69618 #69618
User since
2006-06-29
35 Artikel
BenutzerIn
[default_avatar]
@ fraggs: Es ist kein bestimmtes Spiel, es interessiert mich nur ob und wie ich es in Perl manipulieren kann. Ich hab z.B. mit GTA3 und CoD2 Experimentiert.

@ murphy: Es soll ja nicht plattformunabhängig sein ich verwende windoof xp pro, es sollte aber schon auf anderen win systemen laufen.

Kann mir jemand genaueres über "systemabhängige Tricks" verraten?
GwenDragon
 2006-09-12 13:28
#69619 #69619
User since
2005-01-17
14533 Artikel
Admin1
[Homepage]
user image
Schau mal unter CPAN:PeekPoke. Erinnert mich an PEEK und POKE bei Basic.

Das suchst du doch, oder?\n\n

<!--EDIT|GwenDragon|1158053379-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

murphy
 2006-09-12 18:05
#69620 #69620
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
PeekPoke hilft hier nicht weiter, weil man damit nur im eigenen Adressraum herumpfuschen kann.

Wie gesagt: Schau dir mal die Win32 Debug API an, damit geht das garantiert. Ich denke Du brauchst die Funktionen ReadProcessMemory und WriteProcessMemory für die eigentliche Arbeit. Außerdem musst Du Dich irgendwie an das laufende Zielprogramm dranhängen oder es mit speziellen Flags für CreateProcess starten, damit Du es debuggen darfst.

Lies im Zweifelsfall den Quellcode des gdb für Windows oder eines anderen Open-Source Debuggers, wenn Du Beispiele brauchst.
When C++ is your hammer, every problem looks like your thumb.
gORDon_vdLg
 2006-09-12 22:40
#69621 #69621
User since
2006-06-29
35 Artikel
BenutzerIn
[default_avatar]
Hmm... mal forschen........
<< >> 9 Einträge, 1 Seite



View all threads created 2006-09-10 20:21.