![]() |
Eigene user32.dll
Hallo,
ich versuche derzeit einem Programm eine von mir geschriebene DLL als user32.dll anzubieten. :stupid: Es handelt sich eigentlich nur um einen kleinen Test, bei dem ein paar Funktionen verändert werden sollen. Allerdings scheint es Windows überhaupt nicht zu interessieren wenn sich eine user32.dll direkt im Programmverzeichnis befindet, es wird immer die original-Datei verwendet. Woran liegt das? Kann ich ein Programm irgendwie dazu bringen, die lokale Datei vorzuziehen? gruß |
AW: Eigene user32.dll
Das liegt daran, dass die DLL schon lange geladen ist von anderen Programmen und dein Zielprogramm sie nur noch in seinen Adressraum mappt ohne sie wirklich zu laden.
|
AW: Eigene user32.dll
Zitat:
Delphi-Quellcode:
So sollte dann doch der Zugriff direkt auf die lokale Datei gehen. (Oder wird die echte DLL nicht jedesmal neu geladen wenn man ein Programm startet? :?:)
function MessageBoxW; external user32 name 'MessageBoxW';
Gruß Edit: Das Programm nimmt die DLL an, wenn ich mit nem Hex-Editor jedes vorkommen von user32.dll durch user33.dll ersetze und die DLL entsprechend benenne. :stupid: Ist leider nicht sehr "elegant" die Lösung, daher wäre es schon gut zu wissen, ob man das auch direkt machen kann. |
AW: Eigene user32.dll
Ein glück das bei System-DLL's sich Windows nicht so leicht austricksen lässte. Die aktuell hochkochende DLL-Lücke wäre evtl. noch schlimmer.
Was du machen willst lässt sich u.U. durch einen Globaln Hook auf die entsprechenden API-Funktionen erledigten. |
AW: Eigene user32.dll
Zitat:
|
AW: Eigene user32.dll
User32.dll ist eine von Windows bekannte DLL, die zuerst aus dem System32 Verzeichnis geladen wird von LoadLibrary o.Ä.
|
AW: Eigene user32.dll
Es sei denn man gibt einen qualifizierten Pfad mit an,
aber für statisch geladene DLLs ist das nicht unbedingt "optimal".
Delphi-Quellcode:
ging doch?
function MessageBoxW; external 'C:\MyProg\user32.dll' name 'MessageBoxW';
Nja, aber damit kann man eh nur eigene Deklarationen im Programm austauschen/neu deklarieren und nicht andere Deklarationen beeinflussen. Also Hooks sollten besser laufen. |
AW: Eigene user32.dll
verrat uns doch mal, was Du damit bezwecken willst.
Dein vorgehen sieht so aus, als wolltest Du ein Programm unbedingt behumsen. Warum? Was soll es bezwecken? Gefälschte System-DLLs unterzujubeln ist ein denkbar schlechter Weg, aber es gibt sicherlich noch andere Lösungsansätze. Gruß aus dem Hohen Norden Thomas |
AW: Eigene user32.dll
Zitat:
Hätte mir aber auch denken können, dass man nicht so ohne weiteres Systemdateien ersetzen kann. Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 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