我已经知道:
可以在使用ASM的已编译类中注入和操作代码
您可以将未混淆的jar反编译为可读和可理解的状态
使用GUI探索和编辑类是很实际的,因为DirtyJOE可以做得很好是否有某种程序可以向我显示反编译的类,并允许我分别对其进行操作/注入到不同部分?例如,我想用自己的方法替换一个方法或更改
所以基本上我正在寻找ASM的前端,该前端使用基于反编译源代码的接口构建。
存在吗?如果没有,我最接近的东西是什么?
#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
评论
您尝试过IDA Pro吗?但是,IDA可以实际编辑内容吗?我从没真正使用过IDA。