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

相关推荐
cuber膜拜42 分钟前
jupyter使用 Token 认证登录
ide·python·jupyter
张登杰踩2 小时前
pytorch2.5实例教程
pytorch·python
codists2 小时前
《CPython Internals》阅读笔记:p353-p355
python
Change is good2 小时前
selenium定位元素的方法
python·xpath定位
Change is good2 小时前
selenium clear()方法清除文本框内容
python·selenium·测试工具
大懒猫软件7 小时前
如何运用python爬虫获取大型资讯类网站文章,并同时导出pdf或word格式文本?
python·深度学习·自然语言处理·网络爬虫
xqlily8 小时前
通过 Visual Studio Code 启动 IPython
ide·vscode·ipython
XianxinMao8 小时前
RLHF技术应用探析:从安全任务到高阶能力提升
人工智能·python·算法
查理零世9 小时前
【算法】经典博弈论问题——巴什博弈 python
开发语言·python·算法
梓沂10 小时前
idea修改模块名导致程序编译出错
java·ide·intellij-idea