如何确定用于构建特定Windows桌面应用程序的框架?

时间:2009-10-07 14:59:25

标签: frameworks reverse-engineering

如何确定使用哪种平台或编程语言构建特定的Windows桌面应用程序?

6 个答案:

答案 0 :(得分:10)

有几种方法可以尝试检测特定软件的编写语言。通常,这样做的工具会检查PE Header并尝试进行有根据的猜测。

有时,作者以这样的方式压缩/加密PE,使得这种检测几乎不可能。

有一个名为PEiD的旧工具可以帮助您识别软件的编写语言。

PEiD

答案 1 :(得分:5)

Dependency walker也可以通过显示应用程序所依赖的所有dll以及导出方法的名称来解释。

alt text

答案 2 :(得分:3)

对于特定情况,有一些选项,但总的来说,没有,没有一种可靠的方法可以做到这一点。

答案 3 :(得分:2)

来自SysInternals的

ProcessExplorer非常有用。它可以检测.NET应用程序,并列出加载的DLL,如果它们中的一些是对语言或框架的运行时支持,则可以提供帮助。

我碰巧安装了诺基亚PC套件,ProcessExplorer说它不是.NET应用程序。它加载了MFC71U.DLL和MSVCR71.DLL,I believe来自MFC - 当然,诺基亚PC套件可能只是使用用MFC编写的组件。 EXE中还有一些字符串,看起来像C printf字符串给我。

答案 4 :(得分:0)

有很多方法可以将列表缩小到使用哪种语言,但是你无法知道所有的“怎么样”。如果在不同平台上有许多开发人员呢? ;)

或者更好的是应用程序是语言的组合?

答案 5 :(得分:0)

我想知道为自然language identificationauthorship identification开发的技术是否可以适应这个问题。在我看来,这是一个足够有趣的研究问题。

已经提出了similar question