如何确定使用哪个框架来构建特定的 Windows 桌面应用程序?
如何确定使用哪种平台或编程语言来构建特定的 Windows 桌面应用程序?
How can I determine which platform or programming language was used to build a particular Windows desktop application?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
有多种方法可以尝试检测特定软件是用哪种语言编写的。通常,执行此操作的工具会检查 PE 标头 并尝试做出有根据的猜测。
有时,作者会以这种方式压缩/加密 PE,使得这种检测几乎不可能。
有一个名为 PEiD 的旧工具,可以帮助您识别软件是用哪种语言编写的。
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.
Dependency walker 还可以通过显示应用程序依赖的所有 dll 以及导出的名称来阐明一些情况。方法。
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.
针对特定情况有一些选择,但总的来说,没有,没有一种单一且可靠的方法可以做到这一点。
There are some options for specific situations, but in general, no, there is no one single and reliable way to do that.
SysInternals 的 ProcessExplorer 可能很有用。它可以检测 .NET 应用程序,并列出加载的 DLL,如果其中一些是语言或框架的运行时支持,这会有所帮助。
我碰巧安装了诺基亚 PC 套件,但 ProcessExplorer 说它不是 .NET 应用程序。它已加载 MFC71U.DLL 和 MSVCR71.DLL,我相信来自MFC - 当然诺基亚PC套件可能只是使用一个组件用MFC编写的。 EXE 中还有一些字符串对我来说看起来像 C printf 字符串。
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.