Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Speicher ändern (https://www.delphipraxis.net/43017-speicher-aendern.html)

Lesco 29. Mär 2005 17:27

Re: Speicher ändern
 
Zitat:

Zitat von vlees91
3 geht das jetzt oder nicht (anscheinend ja sachon, denn wie sollten den sonst trainer für spiele funktionieren (außer sie simulieren tasteneingaben)?

tasteneingaben simulieren sie nicht, da es ja keine Tastenkombination gibt um zu cheaten ( zumindest in Onlinespielen und dafür gibt es ja auch hacks usw die im speicher rumschreiben )

Mephistopheles 29. Mär 2005 17:40

Re: Speicher ändern
 
Zitat:

Zitat von vlees91
1. streitet euch nicht oder wie ich es nennen soll( mahct das über pn's)

Der kleine Gott der Welt bleibt stets von gleichem Schlag
Und ist so wunderlich, als wie am ersten Tag.


Zitat:

Zitat von vlees91
2. die adresse ändert sich nie und ist auf jedem pc gleich.

Wenn Euch das wundersame Computerviech
Mal nicht 'nen Strich durch die Rechnung zieht

Wenn da nur etwas Verständnis für das PE-Format, Speichermanagement, Prozesstrennung und Relokation wäre, würdest du soetwas wirres nicht behaupten. Zumindest eine interessante Beweisführung, wenn du behauptest, daß es so sei.
Aber wie stellte schon unser lieber Freund Friedrich Nietzsche so trefflich fest: Behaupten ist sicherer als beweisen.

Zitat:

Zitat von vlees91
3 geht das jetzt oder nicht (anscheinend ja sachon, denn wie sollten den sonst trainer für spiele funktionieren (außer sie simulieren tasteneingaben)?

Ich verweise auf die vorigen ziemlich eindeutigen (und zweideutigen - siehe Luckie) Antworten :mrgreen:. Wer lesen kann ist klar im Vorteil.

@ReDoX: Danke! ;)

Gehabt Euch wohl,

vlees91 29. Mär 2005 17:51

Re: Speicher ändern
 
Hallo?
Geht das denn jetzt mit WriteProcessMemory, odwer nicht. ist doch mein problem, ob sich die adresse ändert oder nicht.
:evil: :evil: :evil: :evil: :evil:

Mephistopheles 29. Mär 2005 17:56

Re: Speicher ändern
 
Zitat:

Zitat von vlees91
Hallo?
Geht das denn jetzt mit WriteProcessMemory, odwer nicht. ist doch mein problem, ob sich die adresse ändert oder nicht.
:evil: :evil: :evil: :evil: :evil:

Keine gute Form, wenn man eine Antwort erwartet bzw. eigentlich schon bekommen hat.
Zitat:

Zitat von Mephistopheles
Ich verweise auf die vorigen ziemlich eindeutigen (und zweideutigen - siehe Luckie) Antworten :mrgreen:. Wer lesen kann ist klar im Vorteil.

Ja, es geht (mit entsprechenden Rechten). Ja, die Adresse kann sich sehr wohl ändern.

__________________________________________________ ______
Um nochmal die erste Seite zu rekapitulieren:
Zitat:

Zitat von Meinereiner
Adressen sind doch nur Schall und Rauch. Denn deren Gültigkeit hängt stark von deren Kontext (auch Prozess genannt) ab.

Zitat:

Zitat von Ich höchstselbst
Bei mir steht, daß ich beliebig mit dieser Funktion im Zielprozess rumschreiben kann, solange er mir überhaupt die entsprechenden Rechte zugesteht: PROCESS_VM_WRITE und PROCESS_VM_OPERATION lt. Platform SDK.


perle 29. Mär 2005 18:16

Re: Speicher ändern
 
Aber auch mit DMA kann man noch ganz gut was mit machen....kommt halt drauf an , was du letztendlich vorhast.

Bei Spielen , die DMA verwenden ändert sich zwar immer die Adresse der Speicherorte wo z.b. die Energie , Munition etc gespeichert ist, allerdings gibt es immer eine feste Adresse wo die Funktion (z.b. die Munition zu verringern) aufgerufen wird.

Dann wäre da noch die Möglichkeit der Codeinjection. Dazu musst du dann aber schon über recht gute Assemblerkenntnisse verfügen, allerdings kannst du damit dann eigentlich alles machen , was du willst.

NicoDE 29. Mär 2005 18:29

Re: Speicher ändern
 
Zitat:

Zitat von Mephistopheles
Wenn da nur etwas Verständnis für das PE-Format, Speichermanagement, Prozesstrennung und Relokation wäre, würdest du soetwas wirres nicht behaupten. Zumindest eine interessante Beweisführung, wenn du behauptest, daß es so sei.

Kennst den Target?

Zurück zur Frage: Ja, es geht mit WriteProcessMemory. Bleibt nur die Frage, was das Problem darstellt, da die Dokumentation der API-Funktionen keine Hürde darstellen sollte.

Christian Seehase 29. Mär 2005 18:36

Re: Speicher ändern
 
Moin Jasper,

ja, geht mit WriteProcessMemory.

Das absolute Minimum an erforderlichen Funktionen, dass Du Dir dazu anschauen solltest:
MSDN-Library durchsuchenOpenProcess und MSDN-Library durchsuchenWriteProcessMemory
Dringend zu empfehlen ist dann noch MSDN-Library durchsuchenVirtualProtectEx

Mephistopheles 29. Mär 2005 20:04

Re: Speicher ändern
 
Zitat:

Zitat von NicoDE
Zitat:

Zitat von Mephistopheles
Wenn da nur etwas Verständnis für das PE-Format, Speichermanagement, Prozesstrennung und Relokation wäre, würdest du soetwas wirres nicht behaupten. Zumindest eine interessante Beweisführung, wenn du behauptest, daß es so sei.

Kennst den Target?

Nein. Genaues verrät er ja nicht ;)

Zumindest aber weiß ich, daß selbst DLLs und Treiber (eben PEs) reloziert werden, wenn dummerweise eine andere DLL exakt jenen Speicherbereich, welcher in der PE als "Empfehlung" drinsteht schon belegt ist. So gesehen ist meine Aussage (welche sich einzig auf die Tatsache bezieht, daß die Adresse im Speicher eben nicht auf 2 PCs zwangsläufig gleich sein muß) doch gerechtfertigt, oder?

Allein bei der Behauptung, daß es auf allen PCs gleich wäre, nur weil er es vielleicht auf, sagen wir mal, einem halben dutzend PCs ausgetestet hat, wo es so war, rollen sich mir die Fußnägel auf. Wenn Mathematiker so beweisen würden, gäbe es wohl dank Millionen Verkehrstoter jährlich nur eine geringe Erdbevölkerung (die natürlich pro Jahr weniger abnimmt, da die "Aufschlagschance" :mrgreen: geringer ist).
_________________________________________
Danke an perle, NicoDE und Christian Seehase - nur bei aufmerksamem Lesen und der Zuhandnahme der Dokumentation wäre dies schon beim Lesen der ersten Seite klargeworden. Oder?

NicoDE 29. Mär 2005 20:43

Re: Speicher ändern
 
Zitat:

Zitat von Mephistopheles
Zumindest aber weiß ich, daß selbst DLLs und Treiber (eben PEs) reloziert werden, wenn dummerweise eine andere DLL exakt jenen Speicherbereich, welcher in der PE als "Empfehlung" drinsteht schon belegt ist. So gesehen ist meine Aussage (welche sich einzig auf die Tatsache bezieht, daß die Adresse im Speicher eben nicht auf 2 PCs zwangsläufig gleich sein muß) doch gerechtfertigt, oder?

Vielleicht hat sein Zielprogramm keine Relozierungen.

Zitat:

Zitat von Mephistopheles
Allein bei der Behauptung, daß es auf allen PCs gleich wäre, nur weil er es vielleicht auf, sagen wir mal, einem halben dutzend PCs ausgetestet hat, wo es so war, rollen sich mir die Fußnägel auf.

Er hat nicht behauptet, dass es auf einem anderen Rechner als seinem laufen soll :D

Mephistopheles 29. Mär 2005 20:52

Re: Speicher ändern
 
Zitat:

Zitat von NicoDE
Vielleicht hat sein Zielprogramm keine Relozierungen.

Vielleicht. Vielleicht auch nicht. Allein die Annahme ist zu gewagt um daraus eine allgemeine Aussage abzuleiten.

Zitat:

Zitat von NicoDE
Er hat nicht behauptet, dass es auf einem anderen Rechner als seinem laufen soll :D

Seine Aussage:
Zitat:

Zitat von vlees91
2. die adresse ändert sich nie und ist auf jedem pc gleich.

impliziert für mich anderes. Und selbst auf seinem eigenen Rechner kann, wenn eine andere Konstellation von Programmen vorher im Hintergrund lief, eine Relokation einer DLL notwendig werden.

Selbstverständlich beschränkt sich diese Aussage hauptsächlich auf DLLs - aber wenn er nichts genaues sagt, können wir uns da gegenseitig mit konträren Mutmaßungen erschlagen. Mir ist das einfach zu affig, weshalb ich mich bis zu seiner Replik hier ausklinke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz