我一直在研究如何使用ByteCode编辑jar文件,对原始值进行编码(我有解码的方法,因此可以在eclipse中进行编辑。)然后我将解码后的值替换回编码后的值(我有这样做的方法,在我导出新的类文件后,将所有的ByteCode放入数组中,然后重新编码解码的值)。因为我一次只编辑一种方法。我只需要打开原始文件类,然后将方法的编辑版本放入原始文件所在的位置即可。我该怎么办?
注意:例如,我解码的值是:func_146528_d,它等于getLocalName()。然后,我编辑方法,导出。然后,我需要将getLocalName替换为func_146528_d(带有一些代码),现在我需要弄清楚如何用我的新的重新编码的方法(位于ArrayList中)替换旧类文件中的单个方法。
我正在为此使用ASM 6.0。