`
m635674608
  • 浏览: 5042205 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

用JBE修改Java字节码

 
阅读更多
注意:我们在每一章都有一个实战环节,大家在阅读一些基本知识的时候可以同时参考实战,带着实际应用的需要去学习基本知识是一件很愉快的事情。
 
实战前的开发包和工具准备:
□ 从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运行之前做件事情):
 
《Java平台体系》——第二章 JVM——实战:用JBE修改Java字节码
 
先把源文件编译,用JBE打开编译后的Class1.class文件,找到Methods-run-[0]Code,如下图:
 
《Java平台体系》——第二章 JVM——实战:用JBE修改Java字节码
 
把run方法的字节码修改为下图内容,保存:
 
《Java平台体系》——第二章 JVM——实战:用JBE修改Java字节码
 
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 修改 Class 文件工具有很多,其中“JBE”(全称可能为 Java Bytecode Editor 或类似)是一个专门用于查看和编辑 Java 字节码的工具。它允许开发者在编译后的级别上操作 Java 类,这对于调试、逆向工程、优化...

    Java Bytecode Editor-Java字节码编辑器 V3.0

    Java Bytecode Editor是修改和分析java字节码结构和类文件的有效工具:下载解压后,双击jbe. bat(Windows)或jbe.sh(Linux)即可运行JBE。src目录下的是JBE的源码。

    JBE:一个简单的 Java 字节码编辑器,灵感来自 Reflexil

    Java字节码编辑器JBE(Java Bytecode Editor)是一个基于Reflexil的简单工具,旨在帮助开发者深入理解并修改Java应用的字节码。字节码是Java虚拟机(JVM)执行的低级指令集,对于调试、优化和逆向工程来说,直接操作...

    CJBE-Continued Java Bytecode Editor 字节码编辑器

    一种修改和分析java字节码结构和类文件的有效工具, 它是JBE-Java Bytecode Editor 0.1 升级版. 履历简介: 1.原始Jclasslib bytecode viewer 3.0字节码查看功能 2.继续维护升级为:JBE-Java Bytecode Editor 0.1字节...

    jd-gui+jclasslib+jbe java反编译工具合集

    结合这三个工具,开发者可以完成从查看、理解和修改Java字节码的全过程。首先,使用jd-gui快速查看和理解代码逻辑;接着,借助jclasslib深入分析字节码结构和指令;最后,如果需要修改字节码,JBE则提供了一个直观的...

    java修改class文件

    `java修改class文件`这个主题涵盖了如何操作和理解Java字节码,以便对二进制类文件进行更改。在这个过程中,`jclasslib bytecode viewer`是一个非常重要的工具,它允许开发者可视化并分析Java字节码。 首先,我们要...

    jbe Java-Bytecode-Editor

    下面将详细探讨JBE的功能、用途以及相关的Java字节码知识。 1. **Java字节码介绍**: Java字节码是Java源代码经过JDK中的javac编译器编译后生成的中间表示形式,它是平台无关的机器码,存储在.class文件中。每条...

    JAVA字节码编辑工具.zip

    这个工具允许开发者直接对这些字节码进行修改,提供了深入到程序底层操作的可能性,对于调试、优化或者学习Java字节码有极大的帮助。 "JDK8亲测可用"表明这个工具至少兼容到Java 8版本,这意味着它应该能处理基于...

    Java下的Class代码查看器+修改器

    Java下的Class代码查看器与修改器是用于深入理解与操作Java字节码的重要工具,它们可以帮助开发者查看并可能修改已编译的Java类文件(即.class文件),这对于调试、逆向工程、性能优化以及理解Java运行时机制具有...

    电脑class修改工具

    【电脑class修改工具】是一种专用于操作和修改Java字节码(.class文件)的工具。在Java编程语言中,.class文件是编译后Java源代码的二进制表示,它包含了Java虚拟机(JVM)能够执行的指令。这类工具通常被高级开发者...

    CLASS直接修改工具

    在压缩包中的“JBE反编译器”可能是指Java Bytecode Editor(JBE),这是一个开源的Java字节码编辑器,它允许用户将.class文件反编译为可读的Java源代码,然后进行修改后再编译回字节码。反编译器的作用在于帮助...

    java代码、变量、常量修改工具(附使用方法).rar

    JBE是一个开源的字节码编辑器,它支持对Java字节码进行直接编辑,包括修改方法体、常量池、添加或删除类、方法和字段。与JClassLib类似,JBE为没有源代码的Java程序提供了一种修改机制,特别适用于逆向工程、调试和...

    editbb.zip

    在描述中提到,“editbb”是为了教育目的和快速修复而创建的,这表明它可能是为初学者或开发者设计的,他们需要一个简单易用的工具来探索和修改Java字节码。同时,这个工具可能具有用户友好的界面和指导,使得这个...

    jclasslib_windows_3_0

    jclasslib是一款强大的Java字节码查看器,它允许开发者直接查看并修改.class文件,从而深入了解Java虚拟机的工作原理。在本文中,我们将详细探讨jclasslib的使用方法以及其在Java反编译和修改中的应用。 首先,...

    修改class.zip

    Java类文件(.class)是Java字节码的载体,它是Java源代码(.java文件)经过编译器处理后的结果。这些字节码由虚拟机(JVM)执行,使得Java具有跨平台的能力。 2. **为何需要修改class文件?** - **源代码丢失**...

    Android AOP之ASM技术研发1

    然后,可以使用Java字节码编辑工具JBE来查看和理解这些类的结构。 在生成字节码时,通常会先定义好要创建的类的基本信息,如访问权限、父类、实现的接口等。例如,`visit(Opcodes.V1_7, Opcodes.ACC_PUBLIC, "asm/...

    jd-gui-0.3.3.windows.zip

    "jd-gui-0.3.3.windows.zip"就是这样一个工具,专为Windows平台设计,它可以帮助我们查看Java字节码并将其转化为源代码形式,从而揭示程序的内部结构。 JD-GUI,全称为Java Decompiler Graphical User Interface,...

    安卓apk反编译.zip

    它能够解包APK文件,提取其中的资源文件(如XML布局、图片等),并将Dalvik字节码(.dex)转换为人类可读的Java源代码。通过`apktool d <apk_file>`命令,我们可以将APK解包到一个工作目录中,查看和修改资源文件。 ...

    hack-android:hack android,java的收集工具

    hack-android适用于linux和mac osx平台。工具简介apktool/ apk的反编译,编译工具,代码为...jbe 类似JD-GUI的反编译工具,java class文件的字节码编辑工具,可以查看和修改class文件。arm-bin arm CPU编译好的小工

Global site tag (gtag.js) - Google Analytics