Есть ли способ узнать, была ли программа создана с VB, C # или Delphi? - PullRequest
0 голосов
/ 15 марта 2011

Есть ли способ узнать, была ли создана программа с VB, C # или Delphi и версией компилятора?

Ответы [ 3 ]

1 голос
/ 15 марта 2011

Да.

В приложениях Delphi вы можете использовать редактор ресурсов, например XN Resource Editor .Каждый исполняемый файл имеет ресурс RC_DATA с именем DVCLAL, который идентифицирует его как приложение Delphi (и содержит информацию о версии компилятора).Если приложение использует VCL (это приложение с графическим интерфейсом Windows), вы также можете увидеть другие ресурсы RC_DATA, которые представляют файл формы (DFM).Вы также можете просматривать классы VCL / RTL в двоичном формате с помощью шестнадцатеричного редактора.

Reflector может показать, является ли приложение C # или VB.NET.

DependencyWalkerсвязан другим ответом) покажет, загружает ли приложение среду выполнения VB, что идентифицирует приложение VB Win32.

1 голос
/ 23 апреля 2011

Вы можете использовать такой инструмент, как PEiD (к сожалению, этот проект был прекращен, но приложение все еще работает).

PEiD обнаруживает наиболее распространенные упаковщики, Крипторы и компиляторы для PE файлов. В настоящее время он может обнаружить более 600 разные подписи в PE файлах.

1 голос
/ 15 марта 2011

Самый простой способ - это использовать какое-то программное обеспечение, такое как DependencyWalker , и просто посмотреть, какие библиотеки DLL они используют.

.NET-двоичные файлы легко понять, и есть также программное обеспечение, которое разбираетих обратно в C # .NET, VB.NET или C ++. NET код для вас (что вы хотите)

Вы не можете определить, записан ли двоичный файл .NET в VB.NET или C # .NET, так как онпреобразуется в MSIL (Microsoft Intermediate Language).

Также такие приложения, как проводник ресурсов, должны сообщать вам информацию о двоичном файле.

Если вы немного более конкретны,Я могу предоставить больше.

...