Как приложение может загрузить DLL без ее имени? - PullRequest
1 голос
/ 27 апреля 2009

Я разобрал приложение VB6, которое вызывает функцию в библиотеке DLL, но я не могу найти какую-либо ссылку на DLL в разборке. Как вызывающий код может загрузить эту DLL? Он динамически связан, так как я могу наблюдать за эффектами удаления и замены DLL.

Я использую IDA Pro Free, вызывающее приложение - приложение VB6, а DLL - простая библиотека Win32, которая, как я подозреваю, была создана с использованием C или C ++.

Ответы [ 4 ]

1 голос
/ 30 апреля 2009

Если это COM DLL, он может искать его по GUID, а не по имени.

1 голос
/ 27 апреля 2009

Что вы подразумеваете под " не может найти ссылку "? Вы не видите строку имени DLL? Вы не видите код, который вызывает DLL?
Вы можете поставить точку останова в DLL и увидеть стек вызовов, который ведет к приложению VB6.

0 голосов
/ 30 апреля 2009

Вы также искали версию имени DLL в Юникоде? Приложение, которое загружает DLL, может быть построено с использованием широких символов.

0 голосов
/ 30 апреля 2009

Откройте ваше приложение в PE Explorer , оно покажет вам все связанные DLL.

...