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

有的时候,可能需要直接修改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是否成功

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容