Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Prog um DLL Funktionen auszulesen (https://www.delphipraxis.net/17352-prog-um-dll-funktionen-auszulesen.html)

hm988 3. Mär 2004 16:47


Prog um DLL Funktionen auszulesen
 
hallo,

kenn wer ein Programm mit dem man Funktionen einer DLL auslesen kann, es gab doch auch mal hier so ein Prog oder.

Hab im Forum nur einen Beitrag gefunden, und da heisst es mehr oder weniger es währe nicht möglich. :gruebel:

Luckie 3. Mär 2004 16:49

Re: Prog um DLL Funktionen auszulesen
 
An die exportierten Funktionen kommst du dran, kein Thema Sihe hier: http://www.luckie-online.de/Downloads/ -> DLLExports. Nur an die Parameter nicht.

The-X 3. Mär 2004 16:49

Re: Prog um DLL Funktionen auszulesen
 
1. Pe-Explorer von HeavenSoft
2. ExeScope von ?
und als letztes glaub ich konnte die Windoof-Schnellansicht das auch

hm988 3. Mär 2004 17:46

Re: Prog um DLL Funktionen auszulesen
 
super, genau des hab ich gesucht :firejump: danke :coder:

Delphi-Noobie 3. Mär 2004 17:49

Re: Prog um DLL Funktionen auszulesen
 
Code:
uses
  ImageHlp;

procedure ListDLLExports(const FileName: string; List: TStrings);
type
  TDWordArray = array [0..$FFFFF] of DWORD;
var
  imageinfo: LoadedImage;
  pExportDirectory: PImageExportDirectory;
  dirsize: Cardinal;
  pDummy: PImageSectionHeader;
  i: Cardinal;
  pNameRVAs: ^TDWordArray;
  Name: string;
begin
  List.Clear;
  if MapAndLoad(PChar(FileName), nil, @imageinfo, True, True) then
  begin
    try
      pExportDirectory := ImageDirectoryEntryToData(imageinfo.MappedAddress,
        False, IMAGE_DIRECTORY_ENTRY_EXPORT, dirsize);
      if (pExportDirectory <> nil) then
      begin
        pNameRVAs := ImageRvaToVa(imageinfo.FileHeader, imageinfo.MappedAddress,
          DWORD(pExportDirectory^.AddressOfNames), pDummy);
        for i := 0 to pExportDirectory^.NumberOfNames - 1 do
        begin
          Name := PChar(ImageRvaToVa(imageinfo.FileHeader, imageinfo.MappedAddress,
            pNameRVAs^[i], pDummy));
          List.Add(Name);
        end;
      end;
    finally
      UnMapAndLoad(@imageinfo);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  List: TStrings;
  i: Integer;
  s: string;
begin
  List := TStringList.Create;
  try
    ListDLLExports('C:\WINDOWS\SYSTEM32\browseui.dll', List);
    ShowMessage(IntToStr(list.Count) + ' functions in dll');
    s := 'List of functions:';
    for i := 0 to List.Count - 1 do
      s := s + #13#10 + List[i];
    ShowMessage(S);
  finally
    List.Free
  end;
end;

Robert Marquardt 4. Mär 2004 06:02

Re: Prog um DLL Funktionen auszulesen
 
PE-Viewer von Petr Vones.
Als Beispile bei der Jedi Code Library dabei.


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