如何反编译jar并修改后还原为jar

如何反编译jar并修改后还原为jar

目标:修改jar包中某个类的某个方法后还原为新的jar

1.新建android工程,把旧的jar添加为lib

2.用jadx-gui打开旧的jar并保存所有资源

3.找到保存的资源中想修改的.java类

4.复制类中的内容, 在android工程中新建一个同样路径的包,并在包下创建同样名字的类,然后把复制的内容粘贴进去(或者把3中找到的java类直接放在同样路径的包下面)

5.修改爆红的地方及想修改的逻辑

6.android studio中点击build->recompile 当前的java 然后会在build/intermediates/javac/包路径下找到生成的.class文件

7.解压缩旧的jar,就像正常解压缩包一样,找到解压后对应包下的.class文件所在的文件夹

8.在文件夹打开.class文件,复制所有文件粘贴到第7步中的文件夹下,所有文件选择替换

9.在解压的旧的jar的根目录下执行命令 jar cvf unity-player-new.jar . 注意unity-player-new.jar为我自己命名的输出的jar的名称,可替换为自己想要命的名,注意后面有个空格和.不要忘记

注意:第7步中解压的文件夹中有多个unityPlayer@1.classes等类似的unityPlayer开头的代码全部删掉,然后在第8步放进去生成的所有unityPlayer.class 这样生成的jar中可以看到方法体, 如果不删除其余的会造成在android studio中查看时不显示方法内容

命令: 合并.class进入已有jar

jar uf existing.jar newclassfile.class

相关推荐
高山上有一只小老虎几秒前
idea中设置快捷键风格
java·ide·intellij-idea
Q_Q5110082856 分钟前
python+uniapp基于微信小程序的学院设备报修系统
spring boot·python·微信小程序·django·flask·uni-app
蓝色空白的博客21 分钟前
自动化测试脚本-->集成测试部署思路整理(1)
python·集成测试
Blossom.11837 分钟前
把AI“绣”进丝绸:生成式刺绣神经网络让古装自带摄像头
人工智能·pytorch·python·深度学习·神经网络·机器学习·fpga开发
星星也在雾里1 小时前
【管理多版本Python环境】Anaconda安装及使用
python·anaconda
用户3721574261351 小时前
使用 Python 将 CSV 文件转换为 PDF 的实践指南
python
大佬,救命!!!1 小时前
算法实现迭代2_堆排序
数据结构·python·算法·学习笔记·堆排序
深耕AI1 小时前
Visual Studio资源编译错误RC2104完全解决指南
ide·visual studio
arron88991 小时前
Visual Studio 2017(VS2017)可以编译 OpenCV 4.5.5 为 32 位(x86)版本
ide·opencv·visual studio
总有刁民想爱朕ha2 小时前
Python自动化从入门到实战(24)如何高效的备份mysql数据库,数据备份datadir目录直接复制可行吗?一篇给小白的完全指南
数据库·python·自动化·mysql数据库备份