[问题] 寻找 JavaByteCode 工具 [已找到]

楼主: darkk6 (Mr. Pan)   2015-02-02 13:10:21
大家好,最近在研究 Java 的 Byte code 想请问大家
有没有推荐的工具,几个需求列在底下。
首先我自己有在用的是 Java ByteCode Editor (JBE) 他确实很好用
但有遇到一个问题是: 有时候修改 Method 后,会无法储存回去。
这个状况应该是 JBE 自己的问题,因为我甚至完全没动过 bytecode
直接 Save Method 也会出错
还有一个工具是 reJ,感觉 reJ 也算是蛮好用的,只是他无法在 Constant Pool
里面增加 FieldRef
我的需求主要就是希望可以方便的增加 Class , Field , Method Refrence,
如:编辑或新增 (其实这个 JBE 做得到,但卡在偶尔我要改 Method 会挂)
还有修改 Method 的 bytecode 不会出问题(没打错语法的情况下)
是在想有没有类似 Android Smali 这种 decompile 工具,可以把 .class 档案
先 Decompile 成文字文件,提供自己修改,改完之后会再编译回去的那种。
(也就是工具应该会自己去找出有哪些 string、 member reference ... 等等)
不然我现在都要用 JBE 新增 ref 之后再透过 HexEditor 去硬干感觉有点累
感谢大家~
PS : 其实我是玩 Minecraft 想把一个 Mod 的 Recipe 改掉阿 XD
原本的合成成本太高了...
作者: n3oanderson (wake up ...)   2015-02-02 17:05:00
作者: sbrhsieh (十年一梦)   2015-02-03 00:06:00
objectweb ASM 会比 jasmine 来得适合ASM 内的 org.objectweb.asm.util.ASMifier 可用来产出任一个 .class 的 generator(java program).你可以修改generator 的程式码, compile->run 产出修改后的 classbytecode(.class file)。ASMifier class 是 application(有 main method)。
楼主: darkk6 (Mr. Pan)   2015-02-03 07:50:00
喔喔 了解,我再试试看 谢谢囉

Links booklink

Contact Us: admin [ a t ] ucptt.com