多读书多实践,勤思考善领悟

Java逆向基础之十三.字节码修改工具

本文于1993天之前发表,文中内容可能已经过时。

字节码编辑修改框架

  • bytecode-viewer

https://github.com/Konloch/bytecode-viewer

  • JBE (Java Bytecode Editor)

http://www.cs.ioc.ee/~ando/jbe/

  • JBM(JByteMod)

https://github.com/GraxCode/JByteMod-Beta

  • Recaf

https://github.com/Col-E/Recaf

  • JBytedit Mc版权原因,项目已停止

https://github.com/QMatt/JBytedit/

镜像地址:https://github.com/Eyremba/JBytedit

  • IDA

https://www.hex-rays.com/products/ida/

  • 看雪下载

https://tools.pediy.com/windows/disassemblers.htm

https://tools.pediy.com/windows/Disassemblers/ida/ida6.8/IDAPRO68.zip

  • ASM

http://asm.ow2.org/index.html

  • ByteBuddy

http://bytebuddy.net/

  • BCEL

http://commons.apache.org/proper/commons-bcel/

  • JBET 网站不可访问

http://opensource.nailabs.com/jbet/

  • Javassist

http://jboss-javassist.github.io/javassist/

  • cglib

https://github.com/cglib/cglib

  • Cojen

https://github.com/cojen/Cojen/

  • JClassLib

https://github.com/ingokegel/jclasslib

  • AspectJ

http://www.eclipse.org/aspectj/

  • Byteman

http://byteman.jboss.org/

  • Btrace 基于ASM的问题跟踪工具,方便跟踪但不方便修改

https://github.com/btraceio/btrace

个人觉得大部分修改需求可以用Javassist和JBE搞定

infoq的对比文章:字节码操纵技术探秘