![]() |
String aus .EXE und .DLL extrahieren?
Hallo Leute,
unter Windows Vista finden sich in der Registry Dateiangaben, die auf Strings in .DLL oder .EXE-Dateien hinweisen, bspw. "@comres.dll,-947" Die Frage ist nun: Wie lese ich diese Strings aus? Bisher habe ich folgende Function vom Board hier benutzt:
Code:
Nur funktioniert diese Function nicht (mehr). Hat jemand eine Idee, wie die o.g. String-Resourcen ausgelesen werden können/sollen?
function GetString(const lib: string; id: LongWord): string;
var hLib: THandle; buf: array [Byte] of Char; begin hLib := LoadLibrary(PChar(lib)); if LongBool(hLib) then try SetString(Result, buf, LoadString(hLib, id, @buf[0], SizeOf(buf))); finally FreeLibrary(hLib); end; end; |
Re: String aus .EXE und .DLL extrahieren?
Was heißt "funktioniert nicht mehr" und was sagt
![]() |
Re: String aus .EXE und .DLL extrahieren?
Zitat:
"GetLastError" sagt "0", das hilft also auch nicht weiter :( |
Re: String aus .EXE und .DLL extrahieren?
ID negiert?
Richtige DLL geladen? (WoW64)? |
Re: String aus .EXE und .DLL extrahieren?
Zitat:
- ID negiert - WOW64 wurde berücksichtigt :( |
Re: String aus .EXE und .DLL extrahieren?
Zitat:
|
Re: String aus .EXE und .DLL extrahieren?
Zitat:
Also: An LoadLibraryEx habe ich überhaupt nicht gedacht... immer dieses 64-Bit ... :) Mit folgendem Code funktioniert es einwandfrei:
Code:
Der Aufruf:
function GetStringFromDLL(const lib: string; id: LongWord): string;
var hLib: THandle; buf: array [Byte] of Char; begin ChangeFSRedir(true); // Abstellen der 64-Bit-Redirection hLib := LoadLibraryEx(PChar(lib), 0, LOAD_LIBRARY_AS_DATAFILE); if LongBool(hLib) then begin try SetString(Result, buf, LoadString(hLib, id, @buf[0], SizeOf(buf))); finally FreeLibrary(hLib); end; end; ChangeFSRedir(false); // Zurückstellen der 64-Bit-Redirection end;
Code:
Danke an alle!!! :)
GetStringFromDLL('C:\Windows\system32\wudfsvc.dll', 1000);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 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