直接修改jar包里面的Class文件

2024-03-31  本文已影响0人  hongzhenw

有的时候,可能需要直接修改java class文件,反编译得到源码后,可能会遇到很多类报错,若是只修改要改的class文件,不失为一个好的方式。

1. 使用JD-GUI查看jar,并保存源码

得到了Test.java源码文件

2. 修改Test.java源码文件

比如,加了日志输出啥的

3. 重新编译Test.java源码文件,得到Test.class

javac -cp 源码.jar Test.java

3.1 若是,遇到错误:Test.java:20: 错误: 编码GBK的不可映射字符,则需要指定java文件的编码方式,使用以下命令:

javac -cp 源码.jar -encoding UTF-8 Test.java

3.2 若是,遇到错误:Test.java:3: 错误: 程序包android.content不存在,这是缺少android.jar导致(缺少其它jar类似,使用;符引入即可)

javac -cp 源码.jar;android.jar -encoding UTF-8 Test.java

4. 编译成功后,会得到Test.class

5. 使用压缩包软件,打开“源码.jar”,使用编译出来的Test.class覆盖“源码.jar”里的Test.class

6. 也可使用JD-GUI再次查看下“源码.jar”,看是否修改Test.class是否成功

上一篇 下一篇

猜你喜欢

热点阅读