2009-04-27 16 views
1

Ich habe eine VB6-Anwendung disassembliert, die eine Funktion in einer DLL-Bibliothek aufruft, aber ich kann keinen Verweis auf die DLL in der Zerlegung finden. Wie kann der aufrufende Code diese DLL laden? Es ist dynamisch verknüpft, da ich die Auswirkungen der Entfernung und des Ersetzens der DLL beobachten kann.Wie kann eine Anwendung eine DLL ohne ihren Namen laden?

Ich verwende IDA Pro Free, die aufrufende Anwendung ist eine VB6-Anwendung, und die DLL ist eine einfache Win32-DLL, die ich vermutete mit C oder C++ erstellt wurde.

Antwort

0

Öffnen Sie Ihre Anwendung in PE Explorer, es zeigt Ihnen alle verknüpften DLLs.

1

Was meinen Sie mit "kann keine Referenz finden"? Sie sehen die Zeichenfolge des DLL-Namens nicht? Sie sehen nicht den Code, der die DLL aufruft?
Sie können einen Unterbrechungspunkt in der DLL setzen und den Aufruf sehen, der zur VB6-App führt.

+0

Ja, ich meine, ich kann keinen Code finden, der sich auf die DLL bezieht, d. H. Ich sehe weder die Zeichenfolge des DLL-Namens noch den Code, der die DLL aufruft. – ProfK

+0

Wie sieht der Stacktrace aus (wenn sich die DLL in einem Haltepunkt befindet)? –

+0

Ich komme immer noch, ich habe noch kein richtiges Debugging-Setup. – ProfK

1

Wenn es eine COM-DLL ist, kann es gut über GUID statt Namen suchen.

0

Haben Sie auch nach der Unicode-Version des DLL-Namens gesucht? Die Anwendung, die die DLL lädt, kann mit Wide-Zeichen erstellt werden.

Verwandte Themen