分析可执行文件的工具

问题描述 投票:0回答:4

是否有一个工具可以分析可执行文件并检测: - 使用的编程语言(编译器), - 使用的框架(Qt、Gtk、.Net、WxWidgets 等)、 - 其他有用的信息(压缩等)。

我知道有时很难区分编程语言(尤其是在 C 或 Pascal exe 中),但是可以区分使用的语言或编译器吗? (Delphi 生成 exe 的方式不同,例如 VB6 也是如此)。

这可能是可能的,例如。对 dll、标头等进行依赖性分析。

谢谢。

executable analyzer
4个回答
4
投票

在 GNU 上,您可以使用多种工具来尝试猜测您想要的信息:

  • ldd 解析链接到二进制文件的共享库
  • nm 列出二进制文件导入/导出的符号
  • strings,可以转储嵌入在二进制文件中的字符串
  • objdump 也很有用
  • 十六进制编辑器也很有用。

我猜windows平台上也有类似的工具。 Dumpbin.exe 类似于 nm,depends.exe 类似于 ldd iirc。

顺便说一句,java 通常是字节码编译的,而不是本机的。


2
投票

我过去使用过(uni)PEInfo,但它没有提供你想要的信息。之后我使用了 Reflector,因为我知道我的 dll/exe 位于 .net

但是我认为没有软件可以做到这一点

解决方法:您能做的最好的事情就是查看 exe 的字符串(例如使用进程资源管理器)并猜测自己。


1
投票

在二进制文件查看器中打开可执行文件,并查找看起来像函数名称的字符串。这些字符串并不总是可用,但在某些情况下它们是存在的。例如,它们可用于解析 DLL 的链接。之后谷歌搜索这些字符串。他们有机会告诉你一些事情。


0
投票

我认为没有可能的方法可以正确地做到这一点。也许可以检测到一些基本的编程语言,但没有人可以检测到所使用的框架。有数千个框架。

© www.soinside.com 2019 - 2024. All rights reserved.