NSA Ghidra 9 - 反编译器是开源的吗?

逆向工程 反汇编者 反编译器 吉德拉
2021-06-11 18:56:06

我最近在 Windows 上下载了 Ghidra(链接)版本 9。

反编译器功能可以在以下位置找到

<GHIDRA_HOME>\Ghidra\Features\Decompiler

有一个包含 Java 代码的 lib 文件夹。然后有一个 os 文件夹,其中包含 3 个不同平台(win、mac 和 linux)的二进制文件,每个平台大约 2.4 - 2.9 MB。

我的问题

  1. 这使得 Ghidra 并不是真正的便携。如果有理由这样做,那么为什么不使用 JNI/JNA 呢?为什么要采取启动可执行文件的肮脏路线?

  2. 反编译器是开源的但用本机代码编写的吗?你能指出这样的源代码位置吗?如果没有提供,那么我们可以说它是真正的开源(阅读后门!)使用 C/C++ 之类的级别语言来编写它。

2个回答
  1. 我猜想IDE调试器部分需要在某个时候靠近系统才能触发ptrace()其他系统中调用或等效项。所以,这些二进制库对我来说是完全合法的(我认为可能没有其他办法,我认为)。

  2. 它将是具有Apache 2.0 许可证的开源但是,代码在发布之前仍在 NSA 重新编写(至少,这是他们在GitHub 页面上所说的)。

对于后代:反编译器在 Ghidra 最初发布后不久就开源了。它的代码在这里