Самая лучшая утилита dump dump
У меня есть несколько сотен DLL, принадлежащих к огромному проекту spagetti-code, и вам нужно увидеть, какие вызовы они экспортируют или импортируют. И было бы замечательно, если бы я смог получить график зависимости между DLL.
Может ли кто-нибудь рекомендовать мне бесплатные и надежные утилиты для этого?
Спасибо.
Редактировать. Подход для зависимостей кажется недостаточным: мне нужно получить список не только для требуемых DLL, но и узнать, для чего предназначены эти DLL.
Ответы
Ответ 1
Dependency Walker (зависит .exe) может сделать это бесплатно. Он также имеет функцию профиля, чтобы вы могли видеть, какие DLL загружаются динамически.
![depends.exe screenshot]()
Если ваши DLL являются сборками .Net, вы можете использовать Reflector, а если это COM DLL с библиотекой типов, вы можете использовать OleView для получения дополнительной информации. Чтобы получить больше информации из обычной библиотеки DLL, вам придется прибегнуть к дизассемблерам и чтению сборки.
Ответ 2
http://www.ntcore.com/exsuite.php "CFF Explorer" у этого инструмента есть все, что вы хотите. Прочитайте его функции на главной странице. Удачи!
Ответ 3
Нет способа получить информацию о том, какие библиотеки используются. Вы должны прочитать программную документацию вашего проекта - надеюсь, что она есть. Также внимательно изучите make файлы.
Вы можете видеть, какие DLL были включены (статически - в другом смысле, отличном от обычно используемого) во время соединения, но это подмножество DLL. Он не вернет никаких плагинов или реальных динамически загружаемых библиотек.
Чтобы использовать это в библиотеках времени компоновки, вы должны использовать инструмент "dumpbin", который поставляется с MSVC. "Dependancy walker" - это только фронтенд этого инструмента.
Затем напишите несколько сценариев и/или используйте grep для фильтрации выходных данных для анализа содержимого DLL.
Вы можете искать SO для других методов обратного проектирования. Я верю, что вы найдете много информации, потому что это обычный навык для программистов.