分析可执行文件的工具

Tool to analyze the executable

本文关键字:工具 可执行文件      更新时间:2023-10-16

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

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

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

谢谢。

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

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

我想窗户上也有类似的工具。Dumpbin.exe类似于nm,dependens.exe类似于ldd-iirc。

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

我在过去使用过(uni)PEInfo,但它没有提供您想要的信息。在那之后,我使用反射器,因为我知道我的dll/exe在哪里.net

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

解决方法:你能做的最好的事情就是查看exe的字符串(例如使用Process explorer)并猜测自己。

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

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