开发者

How can I determine which framework was used to build a particular Windows desktop application?

How can I determine which开发者_如何学Python platform or programming language was used to build a particular Windows desktop application?


There are several ways to try and detect in which language a particular software was written. Usually, the tools that do that examine the PE Header and try to make an educated guess.

Sometimes authors compress/encrypt the PE in such way that makes this detection next to impossible.

There is an old tool called PEiD which can help you identify in which language was the software written.

How can I determine which framework was used to build a particular Windows desktop application?


The Dependency walker may also shed some light by showing all the dlls the application depends on, as well as the names of the exported methods.

How can I determine which framework was used to build a particular Windows desktop application?


There are some options for specific situations, but in general, no, there is no one single and reliable way to do that.


ProcessExplorer from SysInternals can be useful. It can detect .NET applications, and it lists loaded DLLs, which can help if some of them are runtime support for a language or framework.

I happen to have Nokia PC Suite installed, and ProcessExplorer says it is not a .NET application. It has loaded MFC71U.DLL and MSVCR71.DLL, which I believe are from MFC - of course Nokia PC Suite could simply be using a component written in MFC. Also there are some strings inside the EXE which look like C printf strings to me.


There are ways to narrow down the list to what language is used, but you cannot know all the 'hows'. Plus what if there are a number of developers on different platforms? ;)

Or better yet the app is a combination of languages?


I wonder if techniques developed for natural language identification and authorship identification can be adapted to this problem. It seems to me an interesting enough research problem.

A somewhat similar question has already been posed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜