![]() |
Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Hallo liebe DP Community,
ich bin noch recht frisch im Delphi Land, und beschäftige mich gerade mit dem Thema DLL Injektion und Funktionsaufrüfen per Assembler. Für den Zielprozess gab es hier glücklicherweise schon einen Beispielcode, allerdings in C++. Folgendermaßen ist die Funktion in C++ deklariert:
Code:
Was mir klar ist:
int (*GetNumItems)() = ( int (*)() )0x004CCFD0;
Die Funktion gibt einen Integer Wert zurück, erwartet keinerlei Parameter und befindet sich im Zielprozess bei dem Offset 0x004CCFD0. Was mir jetzt Probleme bereitet ist die Zieladresse der Funktion im Prozess (0x004CCFD0), welche ja in C++ hinten angebbar ist. Wie müsste ich die Funktion also in Delphi deklarieren, damit ich sie ebenfalls so leicht wie hier aufrufen könnte?
Code:
Ist mein Vorhaben in Delphi überhaupt möglich?
int NumItems = GetNumItems();
Ich bin schon jetzt für eure Hilfe dankbar. Gruß MrLolli |
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Na klar:
Delphi-Quellcode:
type
TEmptyFunc = function(): Integer; var F: TEmptyFunc; begin F := Pointer( $004CCFD0 ); F; |
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Oder so, wobei die leeren Klammern am Ende nur sinnvoll sind um anzudeuten, dass das ein Funktionsaufruf ist, aber auch weggelassen werden können.
Delphi-Quellcode:
// EDIT:
type
TEmptyFunc = function(): Integer; begin TEmptyFunc(Pointer($004CCFD0))(); Ach ja: Das geht erst ab Delphi 2005 oder Delphi 2006, Delphi 7 und früher stürzt dabei beim Kompilieren ab. :mrgreen: |
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Du weißt, daß die Entwicklung von World of Warcraft Bots den Blizzard Bestimmungen (und imho auch den Delphi Praxis Regeln) widerspricht, oder?
|
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Zitat:
MfG, Bug |
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Ich vermute er kommt von dieser Seite hier drauf, die ich so direkt bei Google gefunden habe...
![]() Zitat:
|
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Zitat:
[EDIT]Jaenicke war schneller ... kann es sein das man den roten Kasten nicht bekommt, wenn man die Seite 10 Minuten geöffnet hat, in diesen 10 Minuten jemand geantwortet hat und man erst danach auf Reply drückt?[/EDIT] |
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Zitat:
Zitat:
MfG |
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Zitat:
0xF30FC7 ist nicht der TE ... und das er weiß wie es geht heißt nicht das er es macht. Der rote Kasten hat übrigens ab und zu Aussetzer. MfG, Bug PS: Ich glaub es ist langsam Zeit das Thema zu schließen. |
Re: Aufruf einer Funktion per DLL Injektion, C++ nach Delphi
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 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