Определите зависимости .exe - PullRequest
4 голосов
/ 25 июня 2010

У меня есть файл .exe, который, я считаю, был создан с помощью VB6. Существуют ли в Visual Studio 6 или более поздние версии инструменты, которые позволили бы мне увидеть динамические библиотеки, необходимые для запуска приложения?

Ответы [ 2 ]

14 голосов
/ 25 июня 2010

Попробуйте это - Dependancy Walker.

6 голосов
/ 25 июня 2010

Вы можете увидеть неявно связанные зависимости DLL с помощью Dumpbin / import.Или статический вид, предоставленный Dependency Walker.Однако программы VB6 обычно сильно зависят от COM-компонентов, и они загружаются по требованию во время работы программы.Эти компоненты должны быть зарегистрированы до того, как программа сможет загрузить и использовать их.

Чтобы увидеть это, вам понадобится утилита, которая показывает, как программа использует реестр.Ничего в наборе инструментов VS6 для этого нет, вы можете использовать утилиту ProcMon от SysInternals.Обратите внимание на то, что программа пытается открыть ключи в разделе реестра HKLM \ Software \ Classes \ CLSID, где и зарегистрированы COM-компоненты.Вы должны увидеть, что он не может найти тот ключ, по которому вы можете определить CLSID.

Это все равно ни к чему вас не приведет, потому что это просто непрозрачное число, оно не сообщает вам имя или местоположениеиз DLL.Используйте Regedit.exe на компьютере, на котором программа работает правильно.Найдите этот ключ, значение LocalServer32 говорит вам, какая библиотека DLL или OCX реализует компонент COM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...