[問題] 尋找 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