Windows: Узнать технологии/библиотеки/фрэймворки используемые приложением?

Есть некое приложение, и вот хотелось бы узнать максимум о используемых технологиях, какой язык был использован, какие библиотеки подключены. Возможно ли это сделать просто и быстро?
  • Вопрос задан
  • 3137 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Maccimo
Какие библиотеки подлинкованы статически покажет куча специализированных утилит.
Это и вышеупомянутый Process Explorer и консольные утилиты, идущие с компиляторами.

Для продуктов от Borland/CodeGear/Embarcadero это tdump.exe, для продуктов от Microsoft — dumpbin.exe с ключём /exports.

Исходя из подлинкованных библиотек уже можно делать предположения об использованных технологиях.
Так, наличие в списке использованных библиотек mscoree.dll даст основания предполагать, что приложение написано под .Net, а наличие msvc*.dll намекнёт на использование MS Visual C.

Если файл экспортирует функции, то есть смысл поискать по именам экспортированных функций в Google. Подопытный может оказаться чьим-либо плагином.

Так же не лишне будет посмотреть ресурсы внутри исполняемого файла.

Наличие ресурсов с именами DVCLAL и PACKAGEINFO — признак того, что скорее всего приложение создано либо в Delphi либо в C++Builder.

По содержимому PACKAGEINFO можно узнать имена модулей, использованных в программе и идентифицировать по ним использованные библиотеки компонентов.

Наличие же ресурсов в секции TYPELIB укажет нам на то, что что данный файл может являться COM-сервером.

Некоторые программы (например, malware) бывают упакованы специальными пакерами, многие из них поможет распознать PEiD.

Часто для пакеров существуют свободно распространяемые распаковщики. В этом случае после распаковки можно продолжить изучение файла.

Это, конечно, далеко не полный список методов узнать подробности об интересующей нас программе.
Чем больше у вас будет опыта в данной области, тем проще и быстрее вы получите интересующую вас информацию.
Ответ написан
@rinx
Process Explorer вам в помощь.
technet.microsoft.com/ru-ru/sysinternals/bb896653
Ответ написан
Комментировать
ngreduce
@ngreduce
Вполне, по многим косвенным признакам.
Ответ написан
Комментировать
Killy
@Killy
Dependency Walker покажет импортируемые библиотеки.
PEiD покажет (если повезёт), какой компилятор, и соответственно, язык программирования был использован. Но гарантии ни эта, ни ей подобные утилиты не дадут.

Вообще, тонкостей может быть (или не быть) много, и не в интересах разработчиков, чтобы все детали легко было как на блюдечке выложить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы