Autor |
Beitrag |
Goolix
      
Beiträge: 83
|
Verfasst: So 05.11.06 16:08
Hallo,
Da ich momentan ja etwas Zeit habe, wollte ich mich etwas damit beschäftigen Cheat-Programme zu schreiben.
Jetzt habe ich durch ein programm eine speicherstelle gefunden, an der zb die anzahl der munition gespeichert ist.
0011A0F9 ist also die stelle, die in einem 4-Byte-Integer die Anzahl der Munition speichert.
Bleibt die Frage, die ich per delphi auf diese stelle zugreifen kann?
(diese trainer-creation-kits will ich nicht benutzen)
gruß
goolix
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: So 05.11.06 16:19
Hallo Goolix,
ich finds an sich schon dreist zu cheaten (auch aus langeweile), aber dann auch noch so faul zu sein nicht mal danach zu suchen, dass ist die Höhe. Hier gibt es schon genügend Beiträge zu diesem leidigen Thema wo sich genug Anfänger daran versuchen und auch zu einem Ergebnis kommen.
Ich persöhnlich finde, dass man sich bei solch einem Thema die Brötchen selber verdienen sollte...
Gruß Hape!
_________________ Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
|
|
Mindforce
      
Beiträge: 358
Win XP Pro / MCE, Win 98, Slax (Linux)
Delphi 07 PRO, Delphi 3+7 (mit Prdx)
|
Verfasst: So 05.11.06 16:23
Hi,
ich würds aber auch mal interresant finden, wie man in Engine speicher schreibt, Hape ^^.
Welches Spiel meinste denn???
M!ndforce
_________________ Our force; in mind.
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: So 05.11.06 16:46
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure Cheat; var hProcess, dwProcessId, lpNumberOfBytesWritten: Cardinal; lpBuffer: Integer; begin lpBuffer := 1000; h := FindWindow(nil, 'Name des Spieles'); if h > 0 then begin GetWindowThreadProcessId(h, @dwProcessId); hProcess := OpenProcess(PROCESS_ALL_ACCESS, false, dwProcessId); WriteProcessMemory(hProcess, Ptr($0011A0F9), @lpBuffer, 4, lpNumberOfBytesWritten); CloseHandle(hProcess); end; end; |
- lpBuffer ist der Wert, der in den Speicher geschrieben wird.
- FindWindow musst du mit dem exakten Fensternamen des Spiels aufrufen, also der, der in der Titelleiste steht.
- GetWindowThreadProcessId holt sich die Prozess-ID.
- OpenProcess gibt uns ein Handle zurück, mit dem wir auf den Prozess zugreifen können.
- WriteProcessMemory schreibt an die gewünschte Speicherstelle im Prozess unseren Puffer.
- CloseHandle gibt das Prozess-Handle wieder frei.
|
|
Goolix 
      
Beiträge: 83
|
Verfasst: So 05.11.06 19:56
danke schön
zum cheaten:
das ist überhaupt nicht dreist. schließlich schreibe ich keien multiplayer-trainer sondern welche für den singleplayer. soll heißen, dass jeder sich selbst aussuchen kann ob er das tool nutzt oder nicht, ohne das irgendwer davon beeinträchtigt wird.
ich zum beispiel nutze trainer häufiger um mir direkt zum anfang einen überblick über den vollen funktionsumfang zu verschaffen.
zu der dreistigkeit hier zu fragen:
ich denke dafür ist das forum doch da, oder? ich hab hier ja ncihtmal nach einem quelltext gefragt, sondern wollte nur wissen, wie man speicherzugriff bekommt
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: So 05.11.06 20:07
[OFFTOPIC]
Es ist schond dreist, egal ob man nun sich oder andere betrügt, wenn 10 Schuss vorgesehen sind, dann sind es halt nur 10 Schuss.
[/OFFTOPIC]
Und die Suche hätte bestimmt etwas ergeben
@Chryzler: Das ist der falsche Weg, so haben wir in ein paar Jahren nur noch eine fragende Jugend, die keine Antworten mehr selber findet, egal, ob Delphi oder sonst irgend etwas!
mfg
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: So 05.11.06 20:32
Kroko hat folgendes geschrieben: | @Chryzler: Das ist der falsche Weg, so haben wir in ein paar Jahren nur noch eine fragende Jugend, die keine Antworten mehr selber findet, egal, ob Delphi oder sonst irgend etwas! |
Wer nicht fragt bleibt dumm.
Du glaubst doch nicht im Ernst, dass ich den Quelltext besser nicht hinschreiben hätte sollen, sondern schreiben hätte sollen, dass er nach dem, was ich jetzt hingeschrieben habe, suchen soll?
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: Mo 06.11.06 06:16
Chryzler hat folgendes geschrieben: | ...
Du glaubst doch nicht im Ernst, dass ich den Quelltext besser nicht hinschreiben hätte sollen, sondern schreiben hätte sollen, dass er nach dem, was ich jetzt hingeschrieben habe, suchen soll? |
Ja, im Ernst 
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
|