如何反编译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_BYSJ198713 分钟前
springboot校园自习室管理小程序---附源码32142
java·javascript·spring boot·python·django·flask·php
2501_9159214328 分钟前
iOS开发环境搭建详解 Xcode 配置与快蝎轻量级工具选择
ide·vscode·macos·ios·个人开发·xcode·敏捷流程
用户83562907805144 分钟前
使用 Python 在 PDF 中绘制线条、矩形和自定义图形
后端·python
wang_yb1 小时前
用方差阈值过滤掉“惰性特征”
python·ai·databook
RFID固定资产管理系统3 小时前
公司RFID管理系统揭秘
大数据·python
IVEN_3 小时前
Python官方包、Conda、uv,应该怎么选
python
凡尘——雨落凡尘4 小时前
Python列表索引越界IndexError问题深度解析与解决办法
python·indexerror·list index out of range
Metaphor6924 小时前
使用 Python 在 Word 文档中添加或删除文本框
python·word
郝同学今天有进步吗4 小时前
构建 LangGraph Code Review Agent(七):实现规则匹配、Finding Guardrails 与 Markdown 报告
python·ai·fastapi·code review
xuhe25 小时前
一劳永逸!解决 AutoDL 系统盘(30GB)爆满与 pip 缓存迁移
linux·python·ai·jupyter