如何反编译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

相关推荐
weixin_4404016916 分钟前
大数据技术-数据分析(EXcel+Python数据处理+SQL)
大数据·python·数据分析·excel
甜到心里的蛋糕23 分钟前
AI 生成 MV 音频异响排查:频谱定位、片段替换与 Nginx 缓存
人工智能·python·nginx·ffmpeg·音视频·音频处理
2601_9679801132 分钟前
python中的静态方法和类方法
python·静态方法·类方法·实例化·方法调用
智购科技无人售货机厂家39 分钟前
自动售货机物联网平台为什么会出现在线状态不一致?~YH
python·单片机·嵌入式硬件·django·pygame
飞Link9 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
曲径海盗9 小时前
【Python 学习第 38 天】for 循环
python·学习笔记·编程入门
在世修行10 小时前
智学文枢:变式题生成引擎
python·ai·pyside·题目生成
On The Road :11 小时前
Java 多线程详解:从入门到线程安全
java·python·安全
岁月宁静12 小时前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构
python·agent
岁月宁静12 小时前
CrewAI 快速上手:10 分钟搭建你的第一个 Agent 团队
python·agent