好的。因此,我为Java开发人员和逆向工程人员提出了最出色的程序,我想知道是否已经存在以下程序:

我已经知道:


可以在使用ASM的已编译类中注入和操作代码

您可以将未混淆的jar反编译为可读和可理解的状态
使用GUI探索和编辑类是很实际的,因为DirtyJOE可以做得很好是否有某种程序可以向我显示反编译的类,并允许我分别对其进行操作/注入到不同部分?例如,我想用自己的方法替换一个方法或更改

所以基本上我正在寻找ASM的前端,该前端使用基于反编译源代码的接口构建。
存在吗?如果没有,我最接近的东西是什么?

评论

您尝试过IDA Pro吗?

但是,IDA可以实际编辑内容吗?我从没真正使用过IDA。

#1 楼

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

这里是使用它的教程-

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

评论


看完展示JavaSnoop的视频后,我现在决定它是迄今为止最酷的程序。但是,我似乎无法使“附加到现有流程”正常工作。以为是我的JRE,我尝试了32xJRE7、64xJRE7、64xJDK7和64xJDK6(所有这些都不允许我附加到在后台运行的任何applet或程序)。目前,我正在使用reJ(来自Extreme Coders的答案),但该程序似乎会使我受益更多。

– Taconut
2014年7月28日在19:38

您是否已阅读Javasnoop的自述文件(javasnoop.googlecode.com/svn-history/r32/trunk/resources/…)?它列出了正确设置Javasnoop所需的许多步骤。除了这些步骤,也许您可​​以尝试使用管理员权限运行它?

– REnoob
2014年7月29日在5:51



我必须从管理员命令提示符下专门运行bat文件。我试图右键单击bat文件,然后选择“以管理员身份运行”。那没用。

– Taconut
14年7月31日在21:47

#2 楼

您可以使用一些工具。但是请注意,它们都不具有重新编译类的能力,即您不能将单个类反编译为源代码,对其进行修改然后再重新编译。可以使用Reflection API,但是您需要对反编译源本身进行大量修改。其他方法可能是反编译整个类,然后在完成后重新编译所有类。 ,查看其内部结构
,如有需要,可对其部分进行修改,然后将类文件保存回
。它还会生成类似于javap实用程序的可读报告。
易于使用的Java Swing GUI。用户界面尝试尽可能详细地显示
,并尝试呈现与实际Java类文件结构尽可能近的结构。同时,还强调了修改时的易用性和
类文件的一致性。以
为例,当删除方法时,如果不再引用关联的常量池条目,则也将被删除。内置验证程序
在保存文件之前检查更改。
学习Java类文件内部知识的人员已使用此工具。当源代码不可用时,该工具也已用于
在类文件中进行快速修改。







JBE-Java字节码编辑器

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







类构造工具包

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






reJ

reJ项目旨在提高对Java类的可见性文件,无论它们是通过Java
源,另一种语言还是通过任何其他类型的工具编译而成的。基本上
任何将在Java虚拟机中运行的东西。 >重构Java平台的类文件的方法,字段,属性和代码。







BcelEditor

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







MethodBodyEditor for Java

Java类编辑器注意:您需要在网站上注册才能获得访问权限


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

评论


人! ReJ很棒!我想这是编辑jar的最佳选择。我可能会创建一个工具,但我需要进行大量反思...无论如何,谢谢。在可预见的将来,我一定会使用这些工具。

– Taconut
14年7月31日在21:49