Autor |
Beitrag |
Henry
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Do 25.07.02 15:39
Ist es möglich bei einer vorhandenen DLL herauszufinden welche Parameter man einer Function bzw. Procedure übergeben muß die in der DLL seht, auch wenn man den Quellcode nicht hat?
Und evt. auch den Ruckgabetyp?
Welche Funktionen drin sind, bekommt man ja raus, da giebt es ja Programme.
Danke für die Hilfe im voraus
_________________ mfg Henry
|
|
Ex0rzist
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Mi 07.08.02 18:34
Hi,
was sind das für "Programme"?
Gruß,
Ex0rzist
|
|
Henry
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Mi 07.08.02 19:09
Hi
Auf der CD der Zeitschrift Toolbox sind manchmal welche drauf.
Eins hies z.B. ShowDLL
_________________ mfg Henry
|
|
Ex0rzist
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Mi 07.08.02 19:14
Hi,
also das Programm ShowDLL zeigt bei nur die DLLs an, die von einer Applikation verwendet werden.
Gruß,
Ex0rzist
|
|
Henry
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Mi 07.08.02 19:26
Wie jetz?
Man kann sich da eine DLL auswählen und bekommt dann alle Funktionen die darin sind angezeigt.
Oder was meinst Du??
_________________ mfg Henry
|
|
Ex0rzist
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Mi 07.08.02 19:51
Henry hat folgendes geschrieben: | Welche Funktionen drin sind, bekommt man ja raus, da giebt es ja Programme. |
Das meinte ich. Eine DLL aussuchen schauen, was sie für Funktionen bereitstellt.
Und das kann dieses Programm nicht. Jedenfalls nicht bei mir.
Oder hast du vielleicht ein anderes. Meins ist von "Andrew V. Stupachenko".
Gruß,
Ex0rzist
|
|
Henry
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Mi 07.08.02 20:37
Also meins ist von Dincer Kavraal.
Die EXE heist ShowDLL, wenn es gestartet ist.
Im Taskmaneger wird "Library Index Show" angezeigt.
Scheint wirklich ein anderes zu sein.
_________________ mfg Henry
|
|
Ex0rzist
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Do 08.08.02 13:29
Jetzt habe ich auch das richtige.
|
|
Henry
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Do 08.08.02 14:28
Na dann ist ja gut
Hast Du evt. eine Idee zu meinem oben genannten Problem?
Hab nämlich immer noch keine Lösung
_________________ mfg Henry
|
|
Ex0rzist
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Do 08.08.02 14:38
Hmm, sorry, aber da weiss ich leider auch nix.
Ich wüsste gar nicht, wie man anfangen soll.
Wenn du den Source für ShowDLL bekommen würdest, dann hätte man evtl. einen Startpunkt.
Gruß,
Ex0rzist
|
|
bis11
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Fr 09.08.02 10:58
Ich hatte mal so einen Sourcecode, ich weiß im Moment nicht wo er ist. Sobald ich Ihn habe, poste ich den Code hier rein.
|
|
Henry
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Fr 09.08.02 14:47
Das wäre super!
Danke Dir schon mal.
_________________ mfg Henry
|
|
Henry
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Do 05.09.02 14:45
Hi bis11!
Hast Du zufällig schon den Sourcecode gefunden?
Wollte nur mal so nachfragen
_________________ mfg Henry
|
|
bis11
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Do 05.09.02 15:43
Dieser Code zeigt Dir nur die Funktionen an ohne Parameter :
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76:
| nit dllfuncUnit;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, imagehlp, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; OpenDialog1: TOpenDialog; funktionen: TMemo; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end;
var Form1: TForm1;
implementation
{$R *.dfm}
function ListDLLExports(const FileName: string): TStringList; type TDWordArray = array [0..$FFFFF] of DWORD; var imageinfo: LoadedImage; pExportDirectory: PImageExportDirectory; dirsize: Cardinal; pDummy: PImageSectionHeader; i: Cardinal; pNameRVAs: ^TDWordArray; Name: string; begin Result := TStringList.Create; 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)); Result.Add(Name); end; end; finally UnMapAndLoad(@imageinfo); end; end; end;
procedure TForm1.Button1Click(Sender: TObject); var slExports: TStringList; begin funktionen.Clear; if OpenDialog1.Execute then begin slExports := ListDLLExports(OpenDialog1.FileName); funktionen.Lines.Text := slExports.Text; FreeAndNil(slExports) end; end;
end. |
Mehr habe ich nicht, sorry
|
|
Henry
Beiträge: 619
WinXP Prof. SP3
D6 Prof.
|
Verfasst: Do 05.09.02 23:47
Danke Dir erstmal für den Sourcecode!
Vieleicht weis ja jemand doch noch eine Lösung wie ich die Parameter der DLL-Funktionen herausbekomme.
Ein kleines Programm würde auch schon helfen.
Danke schoneinmal
_________________ mfg Henry
|
|