Как приложение может загрузить DLL-файл без его имени?
-
16-09-2019 - |
Вопрос
Я разобрал приложение VB6, которое вызывает функцию в библиотеке DLL, но я не могу найти никаких ссылок на DLL в разборке.Как вызывающий код может загрузить эту DLL?Он динамически связан, так как я могу наблюдать эффекты удаления и замены библиотеки DLL.
Я использую IDA Pro Free, вызывающее приложение - это приложение VB6, а DLL - это обычная Win32 DLL, которая, как я подозреваю, была создана с использованием C или C ++.
Решение
Откройте свое приложение в PE Проводник, он покажет вам все связанные библиотеки DLL.
Другие советы
Что вы подразумеваете под "не могу найти ни одной ссылки"?вы не видите строку с именем dll?вы не видите код, который вызывает dll?
Вы можете установить точку останова в dll и увидеть стек вызовов, который ведет к приложению VB6.
Если это COM-библиотека DLL, вполне возможно, что она ищет ее через GUID вместо name .
Вы тоже искали версию имени DLL в Юникоде?Приложение, которое загружает DLL, может быть создано с использованием расширенных символов.