Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi DLL Funktion aus Speicher heraus (https://www.delphipraxis.net/166858-dll-funktion-aus-speicher-heraus.html)

NickelM 2. Mär 2012 18:06

DLL Funktion aus Speicher heraus
 
Hallo erstmal,

Ich wollte mal fragen, wie man eine Dll in den Speicher laden muss, damit ich die Funtionen mit GetProcAddress laden kann. Ich weis mit LoadLibary kann man DLLs von der Festplatte laden. Mich interessiert nur wie ich eine DLL laden kann, wenn ich die DLL in einem MemoryStream z.b. hab.
Die Bass-Leute haben sowas hinbekommen, nur welche Funktionen brauch ich dafür?
Also die Memory-Eigenschaft von MemoryStream als HModule zucasten und in GetProcAddress aufzurufen funkt net xD.

Sozusagen, was macht LoadLibary mit der Datei? HMODULE wird denk ich mal nur ein Pointer auf irgendwelche Daten sein. Wie emuliere ich sozusagen eine HMODULE-Handle, damit ich mit GetProcAddress die Funktion laden kann. Mir würde auch ein Link von MSDN-Libary helfen, wo es in C++ oder so erklärt ist.
Habe auch schon überlegt ob ich irgendwie die Dll in den Prozzess-Speicher vieleicht laden muss. Nur eigentlich ist das dan kein Unterschied, ob ich einen Pointer irgendwo im Prozzesspeicher hab, oder von einem MemoryStream.Memory oder?

Hoffe mir könnte das jemand erklären.

Gruß
NickelM

ASM 2. Mär 2012 20:02

AW: DLL Funktion aus Speicher heraus
 
Das dürfte vielleicht helfen: hier und hier

NickelM 2. Mär 2012 20:13

AW: DLL Funktion aus Speicher heraus
 
Jo ich denke damit könnte ich mir einen eigenen Dll-Memory-Mapper bauen. Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 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