AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi uallHook - UnloadLibrary hängt Zielprozess auf

uallHook - UnloadLibrary hängt Zielprozess auf

Ein Thema von Zacherl · begonnen am 21. Mär 2007 · letzter Beitrag vom 22. Mär 2007
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

uallHook - UnloadLibrary hängt Zielprozess auf

  Alt 21. Mär 2007, 21:15
Hey,

ich lade mittels InjectLibrary eine Dll testweise in die eigene Anwendung. Die DLL sieht etwa so aus:

Delphi-Quellcode:
procedure DllMain(Reason: DWORD); stdcall;
begin
  MessageBox(0, 'Hallo', 'Hallo', 0);
end;

begin
  DllProc := @DllMain;
  DllMain(DLL_PROCESS_ATTACH);
  ExitThread(0);
end;
Wie man sieht passiert nichts Aufregendes. Beim Aufruf von InjectLibrary wird nun auch wie erwartet die Meldung "Hallo" ausgegeben.
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
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: uallHook - UnloadLibrary hängt Zielprozess auf

  Alt 22. Mär 2007, 21:40
Naja .. habs jetzt einfach in den finalization Teil gesteckt. Damit geht es wunderbar
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#3

Re: uallHook - UnloadLibrary hängt Zielprozess auf

  Alt 22. Mär 2007, 22:20
du solltest schon in dllmain dwReadon unterteilen in DLL_PROCESS_ATATCH etc
desweitren lass das ExitThread(0) weg das wird nicht gebraucht
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: uallHook - UnloadLibrary hängt Zielprozess auf

  Alt 22. Mär 2007, 22:35
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.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 Uhr.
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