注意:我们在每一章都有一个实战环节,大家在阅读一些基本知识的时候可以同时参考实战,带着实际应用的需要去学习基本知识是一件很愉快的事情。
实战前的开发包和工具准备:
□ 从http://java.sun.com/javase/downloads/widget/jdk6.jsp下载Sun的JDK。具体安装过程比较简单,请自行解决。
□ 弄个文本编辑器来编写Java代码,或者下载Java的IDE,推荐从http://www.eclipse.org/downloads/下载Eclipse IDE for Java Developers。安装过程简单,请自行解决。
□ 从http://www.cs.ioc.ee/~ando/jbe下载Java字节码编辑工具JBE。
□ 从http://www.codeblocks.org/downloads/binaries下载codeblocks-*mingw-setup.exe作为C/C++开发工具,其中自带了Mingw的GCC编译工具。如果你有Visual Studio那就不用下了。
用JBE修改Java字节码
如下图,我们把左边的Class1代码编译后的.class文件修改成右边源代码的输出结果(用AOP的说法就是拦击方法run,在run运行之前做件事情):
先把源文件编译,用JBE打开编译后的Class1.class文件,找到Methods-run-[0]Code,如下图:
把run方法的字节码修改为下图内容,保存:
OK,我们的任务完成了。
-----------------------------------------------------------------------
借题发挥:我们经常会遇到需要搞明白编译后的Java字节码具体干什么但又没有源文件,我们有两种选择:
□ 阅读字节码,阅读懂的前提条件是了解Java字节码类文件格式和JVM指令集。
□ 用Java字节码反编译器,即让编译器帮你做了读懂字节码的工作。推荐一个命令行反编译器JAD(http://www.varaneckas.com/jad)。
相关链接:
《Java平台体系》全书大纲:http://qing.weibo.com/2494474521/94aea919330006hz.html
转http://qing.blog.sina.com.cn/2494474521/94aea919330007vc.html
相关推荐
Java 修改 Class 文件工具有很多,其中“JBE”(全称可能为 Java Bytecode Editor 或类似)是一个专门用于查看和编辑 Java 字节码的工具。它允许开发者在编译后的级别上操作 Java 类,这对于调试、逆向工程、优化...
Java Bytecode Editor是修改和分析java字节码结构和类文件的有效工具:下载解压后,双击jbe. bat(Windows)或jbe.sh(Linux)即可运行JBE。src目录下的是JBE的源码。
Java字节码编辑器JBE(Java Bytecode Editor)是一个基于Reflexil的简单工具,旨在帮助开发者深入理解并修改Java应用的字节码。字节码是Java虚拟机(JVM)执行的低级指令集,对于调试、优化和逆向工程来说,直接操作...
一种修改和分析java字节码结构和类文件的有效工具, 它是JBE-Java Bytecode Editor 0.1 升级版. 履历简介: 1.原始Jclasslib bytecode viewer 3.0字节码查看功能 2.继续维护升级为:JBE-Java Bytecode Editor 0.1字节...
结合这三个工具,开发者可以完成从查看、理解和修改Java字节码的全过程。首先,使用jd-gui快速查看和理解代码逻辑;接着,借助jclasslib深入分析字节码结构和指令;最后,如果需要修改字节码,JBE则提供了一个直观的...
`java修改class文件`这个主题涵盖了如何操作和理解Java字节码,以便对二进制类文件进行更改。在这个过程中,`jclasslib bytecode viewer`是一个非常重要的工具,它允许开发者可视化并分析Java字节码。 首先,我们要...
下面将详细探讨JBE的功能、用途以及相关的Java字节码知识。 1. **Java字节码介绍**: Java字节码是Java源代码经过JDK中的javac编译器编译后生成的中间表示形式,它是平台无关的机器码,存储在.class文件中。每条...
这个工具允许开发者直接对这些字节码进行修改,提供了深入到程序底层操作的可能性,对于调试、优化或者学习Java字节码有极大的帮助。 "JDK8亲测可用"表明这个工具至少兼容到Java 8版本,这意味着它应该能处理基于...
Java下的Class代码查看器与修改器是用于深入理解与操作Java字节码的重要工具,它们可以帮助开发者查看并可能修改已编译的Java类文件(即.class文件),这对于调试、逆向工程、性能优化以及理解Java运行时机制具有...
【电脑class修改工具】是一种专用于操作和修改Java字节码(.class文件)的工具。在Java编程语言中,.class文件是编译后Java源代码的二进制表示,它包含了Java虚拟机(JVM)能够执行的指令。这类工具通常被高级开发者...
在压缩包中的“JBE反编译器”可能是指Java Bytecode Editor(JBE),这是一个开源的Java字节码编辑器,它允许用户将.class文件反编译为可读的Java源代码,然后进行修改后再编译回字节码。反编译器的作用在于帮助...
JBE是一个开源的字节码编辑器,它支持对Java字节码进行直接编辑,包括修改方法体、常量池、添加或删除类、方法和字段。与JClassLib类似,JBE为没有源代码的Java程序提供了一种修改机制,特别适用于逆向工程、调试和...
在描述中提到,“editbb”是为了教育目的和快速修复而创建的,这表明它可能是为初学者或开发者设计的,他们需要一个简单易用的工具来探索和修改Java字节码。同时,这个工具可能具有用户友好的界面和指导,使得这个...
jclasslib是一款强大的Java字节码查看器,它允许开发者直接查看并修改.class文件,从而深入了解Java虚拟机的工作原理。在本文中,我们将详细探讨jclasslib的使用方法以及其在Java反编译和修改中的应用。 首先,...
Java类文件(.class)是Java字节码的载体,它是Java源代码(.java文件)经过编译器处理后的结果。这些字节码由虚拟机(JVM)执行,使得Java具有跨平台的能力。 2. **为何需要修改class文件?** - **源代码丢失**...
然后,可以使用Java字节码编辑工具JBE来查看和理解这些类的结构。 在生成字节码时,通常会先定义好要创建的类的基本信息,如访问权限、父类、实现的接口等。例如,`visit(Opcodes.V1_7, Opcodes.ACC_PUBLIC, "asm/...
"jd-gui-0.3.3.windows.zip"就是这样一个工具,专为Windows平台设计,它可以帮助我们查看Java字节码并将其转化为源代码形式,从而揭示程序的内部结构。 JD-GUI,全称为Java Decompiler Graphical User Interface,...
它能够解包APK文件,提取其中的资源文件(如XML布局、图片等),并将Dalvik字节码(.dex)转换为人类可读的Java源代码。通过`apktool d <apk_file>`命令,我们可以将APK解包到一个工作目录中,查看和修改资源文件。 ...
hack-android适用于linux和mac osx平台。工具简介apktool/ apk的反编译,编译工具,代码为...jbe 类似JD-GUI的反编译工具,java class文件的字节码编辑工具,可以查看和修改class文件。arm-bin arm CPU编译好的小工