![]() |
uallHook - UnloadLibrary hängt Zielprozess auf
Hey,
ich lade mittels InjectLibrary eine Dll testweise in die eigene Anwendung. Die DLL sieht etwa so aus:
Delphi-Quellcode:
Wie man sieht passiert nichts Aufregendes. Beim Aufruf von InjectLibrary wird nun auch wie erwartet die Meldung "Hallo" ausgegeben.
procedure DllMain(Reason: DWORD); stdcall;
begin MessageBox(0, 'Hallo', 'Hallo', 0); end; begin DllProc := @DllMain; DllMain(DLL_PROCESS_ATTACH); ExitThread(0); end; Führe ich nun aber UnloadLibrary aus hängt sich meine Anwendung einfach auf. Es passiert danach nichts mehr. Der Prozess lässt sich nur noch über den Taskmanager beenden. Das Komische: Lasse ich das "DllProc := @DllMain" weg, lässt sich die DLL ganz normal entladen. Damit könnte ich leben, allerdings muss ich mitbekommen, wenn die DLL entladen wird, da ich eine API hooken will. Diese sollte nach dem Entladen der DLL ja auch wieder enthookt werden um AVs zu vermeiden. Vielen Dank |
Re: uallHook - UnloadLibrary hängt Zielprozess auf
Naja .. habs jetzt einfach in den finalization Teil gesteckt. Damit geht es wunderbar :)
|
Re: uallHook - UnloadLibrary hängt Zielprozess auf
du solltest schon in dllmain dwReadon unterteilen in DLL_PROCESS_ATATCH etc
desweitren lass das ExitThread(0) weg das wird nicht gebraucht |
Re: uallHook - UnloadLibrary hängt Zielprozess auf
Ich hatte es in DLL_PROCESS_ATTACH und DLL_PROCESS_DETACH unterteilt. Das Ergebniss blieb aber das Selbe .. naja so läuft es ja jetzt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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