Лучшие символы DLL выводят утилиту

Я имею несколько сотен DLLs, принадлежащих огромному spagetti-code-project, и должен видеть, который делают вызовы они экспортируют или импортируют. И было бы также замечательно, если я буду в состоянии получить граф зависимостей между DLLs. Кто-либо мог рекомендовать мне свободные и надежные утилиты для этого?Спасибо.

Править: Зависимость Уокер, кажется, недостаточно: Я должен получить список не только для вознагражденного DLLs, но также и знать то, для чего те DLLs.

14
задан 4 January 2010 в 16:31
поделиться

3 ответа

Dependency Walker (зависит.exe) может это сделать и является бесплатным. Он также имеет функцию профиля, так что Вы можете видеть, какие DLL загружаются динамически.

depends.exe screenshot

Если Ваши DLL являются сборками .Net, Вы можете использовать Reflector, а если это COM DLL с библиотекой типов, Вы можете использовать OleView для получения более подробной информации. Чтобы получить больше информации из обычной DLL, вам придется прибегнуть к разборке и сборке чтения.

.
16
ответ дан 1 December 2019 в 13:47
поделиться

http://www.ntcore.com/exsuite.php "CFF Explorer" этот инструмент имеет все, что вы хотите. Ознакомьтесь с возможностями, которые он включает в себя на главной странице. Удачи!

4
ответ дан 1 December 2019 в 13:47
поделиться

Невозможно получить информацию о том, какие DLL используются. Вы должны прочитать документацию по программному обеспечению вашего проекта - надеюсь, что она есть. Также внимательно изучите makefiles.

Вы можете видеть только то, какие DLL были включены (статически - хорошо в другом значении, чем обычно используется) во время компоновки, но это подмножество DLL. Она не вернет ни плагинов, ни реально загруженных динамических библиотек.

Для того, чтобы это использовалось во время компоновки библиотек, вы должны использовать инструмент "dumpbin", который поставляется в комплекте с MSVC. "Dependancy walker" - это всего лишь входная часть этого инструмента.

Затем напишите несколько сценариев и/или используйте grep для фильтрации вывода для анализа содержимого DLL.

Вы можете найти другие методы обратной инженерии. Я думаю, что вы найдете много информации, потому что это обычный навык для программистов.

.
-3
ответ дан 1 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: