如何确定使用哪种平台或编程语言构建特定的Windows桌面应用程序?
答案 0 :(得分:10)
有几种方法可以尝试检测特定软件的编写语言。通常,这样做的工具会检查PE Header并尝试进行有根据的猜测。
有时,作者以这样的方式压缩/加密PE,使得这种检测几乎不可能。
有一个名为PEiD的旧工具可以帮助您识别软件的编写语言。
答案 1 :(得分:5)
Dependency walker也可以通过显示应用程序所依赖的所有dll以及导出方法的名称来解释。
答案 2 :(得分:3)
对于特定情况,有一些选项,但总的来说,没有,没有一种可靠的方法可以做到这一点。
答案 3 :(得分:2)
ProcessExplorer非常有用。它可以检测.NET应用程序,并列出加载的DLL,如果它们中的一些是对语言或框架的运行时支持,则可以提供帮助。
我碰巧安装了诺基亚PC套件,ProcessExplorer说它不是.NET应用程序。它加载了MFC71U.DLL和MSVCR71.DLL,I believe来自MFC - 当然,诺基亚PC套件可能只是使用用MFC编写的组件。 EXE中还有一些字符串,看起来像C printf字符串给我。
答案 4 :(得分:0)
有很多方法可以将列表缩小到使用哪种语言,但是你无法知道所有的“怎么样”。如果在不同平台上有许多开发人员呢? ;)
或者更好的是应用程序是语言的组合?
答案 5 :(得分:0)
我想知道为自然language identification和authorship identification开发的技术是否可以适应这个问题。在我看来,这是一个足够有趣的研究问题。
已经提出了similar question。