Entwickler-Ecke
Windows API - Offset nutzen, wie?
Iaa_1 - Fr 11.07.08 09:36
Titel: Offset nutzen, wie?
Hi leute ich habe folgendes Problem:
Ich möchte in einem Prozess die Adrese mit einer bestimmten Value überschreiben.
Soweit geht alles jedoch nun kommt das Problem:
Für den Rest den ich vorhabe muss ich Offset anwenden, nur wie?
Dies ist mein jetziger Source fürs Überschreiben:
Delphi-Quelltext
1: 2:
| buffer^:=Chr($2E4); WriteProcessMemory(whandle,ptr($139D728),buffer,1,write); |
Quelltext
1: 2: 3:
| Offset= 2E4 Adresse= 139D728 Value= 0 |
aber wie mache ich das dann?
(Habe mal anstatt 0 für die Value dort mal den Offset eingegeben: geht nicht.)
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Fr 11.07.2008 um 09:59
Moderiert von
Narses: Delphi-Tags hinzugefügt
Tilman - Fr 11.07.08 16:17
Öhm... wandle Offset und Adresse in integer um und addiere sie einfach? Muss aber zugeben dass ich nicht ganz durchsteige was da gemacht werden soll.
Delphi-Quelltext
1: 2:
| zahl := integer(adresse); adresse := pointer(zahl); |
Iaa_1 - Fr 11.07.08 16:30
das verstehe ich nicht,wie umwandeln und wie dann addieren?
Tilman - Fr 11.07.08 16:37
Delphi-Quelltext
1: 2:
| buffer^:=Chr($2E4); WriteProcessMemory(whandle,ptr($2E4+$139D728),buffer,1,write); |
Aber mir kommt das komisch vor sag ich gleich.
Iaa_1 - Fr 11.07.08 16:43
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.Recoil(Sender: TObject); var fenster, whandle, prozess, thread:integer; buffer:pchar; write:cardinal; begin fenster:=FindWindow(nil, 'WarRock'); timer1.enabled:=false; If fenster=0 then showmessage('Das Spiel ist nicht gestartet!') else begin timer4.enabled:=true; thread:=GetWindowThreadProcessId(fenster,@prozess); whandle:=OpenProcess(PROCESS_ALL_ACCESS,False,prozess); GetMem(buffer,1); buffer^:=Chr($2DC); WriteProcessMemory(whandle,ptr($2DC+$139D728),buffer,1,write); buffer^:=Chr($2E0); WriteProcessMemory(whandle,ptr($2E0+$139D728),buffer,1,write); buffer^:=Chr($2E4); WriteProcessMemory(whandle,ptr($2E4+$139D728),buffer,1,write); FreeMem(buffer); closehandle(whandle); end; end; end. |
also das geht schonmal nicht... :(
Tilman - Fr 11.07.08 16:46
Du hast hier hardgecodete Adressen - wo hast du die her? Normalerweise werden Speicheradressen von Windows dynamisch vergeben. Sie stimmen also bei einem aufruf des Programms - un im nächsten nicht mehr.
F34r0fTh3D4rk - Fr 11.07.08 16:50
Und cheaten in Multiplayerspielen wird auch nicht gerne gesehen.
mfg
Iaa_1 - Fr 11.07.08 16:51
die adressen stammen von dir^^ (die umgerechneten)
Tilman - Fr 11.07.08 16:53
Iaa_1 hat folgendes geschrieben: |
| die adressen stammen von dir^^ (die umgerechneten) |
Jaja, sehr witzig ^^
$139D728 mein ich. Woher kommt das.
Iaa_1 - Fr 11.07.08 16:55
ach das, das habe ich in einer Liste gefunden:
Die Liste wird immer geupdatet und die nutze ich eigentlich sonst auch und da gings (bei Values freezen ohne offset).
Iaa_1 - Sa 12.07.08 20:19
weiss es sonst keiner?:(
Xentar - Sa 12.07.08 21:52
Google meint, dass WarRock ein Onlinespiel sei.. und das was du vorhast, verstößt sicher gegen die AGBs...
Kann ein Mod bitte hier den Thread schließen?
elundril - So 13.07.08 04:34
**auf anraten zensiert**
hey, tino, gausi oder sonstwer vom mod-team, könnt ihr bitte die IP-Adresse an PunkBuster bzw an K2 weiterleiten damit der typ gesperrt wird?
lg
ZeitGeist87 - So 13.07.08 04:46
Elundril..nicht sehr konstruktiv..geht auch in einem anderen Tonfall..
elundril - So 13.07.08 04:48
gehts denn überhaupt konstruktiv? und mein tonfall könnte schlimmer sein, dürfte eigentlich sogar, immerhin hab ich wegen solchen leuten zum spielen aufgehört!
//edit: sry, du hast recht. ich werd meinen beitrag zensieren. Da is die aufgestaute wut gegen hacker wohl etwas durchgekommen. tut mir leid.
ZeitGeist87 - So 13.07.08 04:56
Ja, geht es!
Warum und weshalb du aufgehört hast sind deine persönlichen Gründe, und klar ist Cheaten/Botten etc. wirklich nicht schön.
Aber erklär ihm das doch per PN ;-)
F34r0fTh3D4rk - So 13.07.08 12:10
Die IP-Adresse wird da aber auch nicht viel bringen ;)
mfg
Iaa_1 - Mo 14.07.08 14:07
oh man -.-
aber ihr wisst das net das game warrock gemeint ist?
und ja cheaten ist doof ...
elundril - Mo 14.07.08 14:38
dann verrat uns mal was du mit deinem programm vor hast? und ich kenn nur ein programm das warrock heißt...
Fabian E. - Mo 14.07.08 14:50
Iaa_1 hat folgendes geschrieben: |
aber ihr wisst das net das game warrock gemeint ist?
|
Iaa_1 hat folgendes geschrieben: |
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.Recoil(Sender: TObject); [...] fenster:=FindWindow(nil, 'WarRock'); timer1.enabled:=false; If fenster=0 then showmessage('Das Spiel ist nicht gestartet!') [...] | |
Achso :roll:
elundril - Mo 14.07.08 14:53
:rofl: :rofl:
muhahaha, owned!
Narses - Mo 14.07.08 15:34
Moin!
Ich denke, hier ist nix Konstruktives mehr zu erwarten, deshalb mache ich mal zu. ;)
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!