基于反编译源转换Java字节码的GUI?

逆向工程 拆卸 反编译 爪哇 字节码
2021-07-06 08:16:26

好的。所以我刚刚为 java 开发人员和逆向工程师想出了最神奇的程序,我想知道是否已经存在类似以下程序的东西:

我在想的是像DirtyJOE和 Java Decompiler这样的东西之间的中间地带

我已经知道:

  • 可以使用ASM在已编译的类中注入和操作代码
  • 您可以将未混淆的 jar 反编译为可读且可理解的状态
  • 使用 GUI 探索和编辑类是实用的,因为 DirtyJOE 可以做得非常好

那么是否有某种程序可以向我展示一个反编译的类并允许我单独操作/注入它的不同部分?

例如,我想用我自己的方法替换一个方法,或者在编译的类文件中更改字段的访问权限。

所以基本上我正在寻找一个基于反编译源代码的接口构建的 ASM 前端。

这存在吗?如果没有,我将要得到的最接近的东西是什么?

2个回答

您可以使用的一些工具。但是请注意,它们都没有重新编译类的能力,即您不能将单个类反编译为源,修改它,然后重新编译回来。使用反射 API可能是可能的,但是您需要对反编译源本身进行大量修改。其他方法可能是反编译整个类,然后在完成后重新编译所有类。

类编辑器

这是一个用于打开 Java 类文件二进制文件、查看其内部结构、根据需要修改其中的部分并将类文件保存回的工具。它还生成类似于 javap 实用程序的可读报告。易于使用的 Java Swing GUI。用户界面尝试显示尽可能多的细节,并尝试呈现与实际 Java 类文件结构尽可能接近的结构。同时也强调了修改时的易用性和类文件的一致性。例如,当一个方法被删除时,如果它不再被引用,关联的常量池条目也将被删除。内置验证程序在保存文件之前检查更改。该工具已被学习 Java 类文件内部结构的人们使用。

JBE - Java 字节码编辑器

JBE 是一个字节码编辑器,适用于查看和修改 java 类文件。它建立在 ej-technologies 的开源 jclasslib 字节码查看器之上。为了验证和导出类文件,JBE 使用了 Apache 的 Jakarta 项目的字节码工程库。

类构建工具包

Class Construction Kit 是用于可视化创建或修改 Java 类文件的工具。它是使用 BCEL 和 Swing 实现的。

回复

reJ 项目旨在提高对 Java 类文件的可见性,无论它们是从 Java 源、另一种语言还是通过任何其他类型的工具编译创建的。基本上任何可以在 Java 虚拟机中运行的东西。reJ 是一个用于检查(查看、搜索和比较)和操作(修改、混淆、重构方法、字段、属性和代码)的 Java 平台类文件的库和图形工具。

编辑器

BcelEditor 是一个可视化修改Java 类文件的工具。它是使用 BCEL 实现的。
注意:您需要在网站上注册才能访问

用于 Java 的 MethodBodyEditor

一个Java类编辑器
注意:您需要在网站上注册才能访问

除此之外,tuts4you上还提供了其他一些通用的 Java 工具

您可以尝试使用 javasnoop ( https://code.google.com/p/javasnoop/ ) 来完成类似的操作。

这是使用它的教程 -

http://resources.infosecinstitute.com/hacking-java-applications-using-javasnoop/