Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Prozess dazu bringen eine Funktion auszuführen (https://www.delphipraxis.net/86076-prozess-dazu-bringen-eine-funktion-auszufuehren.html)

Dash 8. Feb 2007 17:32


Prozess dazu bringen eine Funktion auszuführen
 
Hallo,

ich versuche zur Zeit einen Prozess dazu zu bringen, eine Funktion auszuführen. Ich habe breits mit Hilfe der uallCollection meine eigene DLL in den Prozess eingeschleust.

Die ganzen Funktionsnamen inkl. anzugebene Parameter habe ich dank IDA auch.

Im Grunde habe ich das gleiche vor wie Tobi482
http://www.delphipraxis.net/internal...&highlight=ida

nur leider gab es in diesem Thread keine Antworten mehr.


Wie kann ich den Prozess nun mit Hilfe meiner eingeschleusten DLL dazu bringen, Funktionen wie z.B. SetPlayerPos() auszuführen?

Gruß
Dash

Olli 8. Feb 2007 17:33

Re: Prozess dazu bringen eine Funktion auszuführen
 
Tja, da deine DLL im Prozess laeuft, wie waere es einfach mit einem Aufruf der Funktion aus deiner eingeschleusten DLL heraus?

Dash 8. Feb 2007 17:36

Re: Prozess dazu bringen eine Funktion auszuführen
 
So hatte ich das auch vor, nur weiß ich nicht wie ich die Funktion nun aufrufen kann :?

Olli 8. Feb 2007 17:38

Re: Prozess dazu bringen eine Funktion auszuführen
 
:gruebel:

Zitat:

Ich habe breits mit Hilfe der uallCollection meine eigene DLL in den Prozess eingeschleust.

Die ganzen Funktionsnamen inkl. anzugebene Parameter habe ich dank IDA auch.
Irgendwie passt deine Aussage mit der aus dem ersten Post nicht zusammen ...

Man kann bspw. aus der DllMain() heraus den Code ausfuehren ...

Dash 8. Feb 2007 17:50

Re: Prozess dazu bringen eine Funktion auszuführen
 
Nunja, ich weiß nicht wie ich die Funktionen z.B. deklarieren soll.
Die Funktionen sehen z.B. in IDA so aus:
zCModelAniActive::`vector deleting destructor'(uint)

was ist z.B. mit zCModelAniActive muss ich da jetzt eine eigene Klasse draus machen?

Olli 8. Feb 2007 18:13

Re: Prozess dazu bringen eine Funktion auszuführen
 
Zitat:

Zitat von Dash
Nunja, ich weiß nicht wie ich die Funktionen z.B. deklarieren soll.
Die Funktionen sehen z.B. in IDA so aus:
zCModelAniActive::`vector deleting destructor'(uint)

was ist z.B. mit zCModelAniActive muss ich da jetzt eine eigene Klasse draus machen?

Das ist offenbar eine Klasse (bzw. eine Methode). Und um kompatible Aufrufe hinzubekommen musst du "nur" rauskriegen was der Compiler der Zielanwendung war, danach __thiscall fuer diesen Compiler nachschlagen und dann in einem Assemblerstub ganz simpel die korrekten Parameter uebergeben. Nicht vergessen, abhaengig vom Compiler muss in einem der Register der Instanzpointer des Objektes ("this" bzw. "Self") uebergeben werden. Alles nicht sonderlich trivial, aber ich klinke mich jetzt hier besser aus ...

Vielleicht setzt du dich doch erstmal mehr mit Grundlagen auseinander?! ... da steckt naemlich mehr als nur unterschiedliche Namen dahinter ... :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 Uhr.

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