我已经看到PNF Software的 JEB 反编译器从一个专门的反编译器转变为一个完整的逆向工程平台,如 Capstone 或 IDA Pro。
在检查 JEB 的早期版本时,特别是 1.x 版本(有些已经被破解并在线共享,我注意到它是用纯 Java 创建的,没有任何本机代码(JNI),最多使用 Jython 库进行访问蟒蛇API。
事实上,这篇维基百科文章指出 JEB 的基础语言是 Java。
但是,如果您查看 JEB 的当前功能(目前为 ver 3.X),是否有可能整个软件都是用纯 Java 编写的?根据我对 Java 的一次写入随处读取的了解,似乎没有针对 Windows、Mac 或 Linux 的单独下载。
那么在没有任何本机代码的情况下,在纯 Java 中实现 IDA-Pro 版本在技术上是可能的吗?
即使是Capstone也有新的语言(Python、Ruby 和Java)绑定,但反编译引擎是用 C/C++ 编写的。JEB 是这种情况吗?
我注意到这里和这里还有一篇研究文章试图用纯 Java 编写机器代码反汇编器/解释器,但怀疑它是否足够稳定以运行 RE 平台。我提到的那些回购是实验性的和过时的。
由于我目前没有足够的钱来获得 JEB 许可证,任何人都可以使用或仔细挖掘评论,以便我们可以在网上和维基百科上维护事实信息吗?
编辑:好的。因此,当我终于有钱为自己获得许可证时,我想知道是否可以挂钩LoadLibraryA
或LoadLibraryW
在 Windows 上确定。JEB 使用 Eclipse RCP 可执行文件。那么我是挂钩那个可执行文件还是 JVM 可执行文件呢?因为 Windows 上的 JVM 使用许多 Windows API 调用,这些调用可能会利用 LoadLibraryX 调用。