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

相关推荐

  1. 如何编译jar修改jar

    2024-06-08 21:00:05       17 阅读
  2. 编译jar

    2024-06-08 21:00:05       15 阅读
  3. idea工具编译jar

    2024-06-08 21:00:05       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 21:00:05       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 21:00:05       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 21:00:05       4 阅读
  4. Python语言-面向对象

    2024-06-08 21:00:05       6 阅读

热门阅读

  1. nacos新版踩坑

    2024-06-08 21:00:05       14 阅读
  2. Openresty人机验证流程

    2024-06-08 21:00:05       12 阅读
  3. 【重学C语言】十九、SDL2 图形化编程的使用

    2024-06-08 21:00:05       18 阅读
  4. SWD端口无法连接如何排查

    2024-06-08 21:00:05       13 阅读
  5. 生物神经网络 原理分析研读02

    2024-06-08 21:00:05       15 阅读
  6. Python怎么水?深入剖析编程的奥秘与挑战

    2024-06-08 21:00:05       25 阅读
  7. arm和x86的差别和应用场景学习笔记

    2024-06-08 21:00:05       17 阅读