zoukankan      html  css  js  c++  java
  • 将JAR包反编译,修改后重新打包(转)

     将JAR包反编译,修改后重新打包(转)
     

        在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar。使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间。有的第三方工具,提供具体的使用说明和源代码,有时有的却不提供源代码,使用说明也不是很具体,这对我们使用就非常不方便。

      有道是,知其然才知其所以然。有时候,我们必须读取jar里的打包的类。而有时还有可能要对它进行小量修改,使之适用于自己的非凡需求。

    前期预备
      Java反编译工具:
      JGUI  http://pan.baidu.com/s/1o6xCtsQ
      压缩工具:
      Winrar

    开始
      1. 将jar包解压
      我们可以使用winrar工具将jar解压到指定目录

      2. 反编译class
      使用 Java 反编译工具,将class文件反编译为java文件。(大多数反编译工具只提供单个class文件的反编译,这里推荐"小颖JAVA源代码反编译"工具,可以反编译一个目录下的所有class文件)

      3. 构建项目
      我们将反编译后的java文件设为项目的源文件目录。
      将jar,及jar所需要的其它lib,作为libraries加入项目中,这样可以保证我们的java文件可以编译。

      4. 对反编译的java进行修改
      通过反编译的java文件,可能还有错误,不能编译通过,在不影响作者原始意图的前提下,我们必须对它进行小量修改,保证可编译通过。
      保证java文件可以编译通过后,我们再在其基础上进行修改,使之符合自己的需求。

        
      5. 编译修改的java
      编译修改后的java文件,注重的是,最好只编译修改的单个java文件。
      编译完成后,我们进行测试,保证修改无误。因为JVM会先找寻classes目录下的class文件,并率先加入,这样我们修改编译后的class文件,便是测试时使用的class文件。
      重复这个过程,直至java达到我们的目的。

        不需要在命令行编译,将项目反编译成.java后将整个工程导入到Eclipse中,直接在Eclipse中查看.class文件

      6. Jar打包
      将修改生成后的class文件,替换我们将jar解压缩目录下的相应class文件,重新打包生成jar。
      我们可以使用jar命令进行打包(进入目录后执行jar -cvf manageRC.jar .)也可以使用winrar工具进行打包。使用winrar工具打包时,要注重选择压缩文件格式为zip,并将生成的压缩包文件的后缀名设置为jar。

      替换原来的jar。再进行最后一次测试。

  • 相关阅读:
    SpringMVC中静态获取request对象 Spring中获取 HttpServletRequest对象【转载】
    springcloud 的loadbalancer 轮询算法切换方法 2021.4.3
    springboot项目启动增加图标
    rabbitmq 端口作用以及修改方法
    centos8 安装rabbitmq
    springcloud config client Value获取不到信息的问题的处理方法
    springcloud config配置git作为数据源然后启动报错 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    Sublime Text的列模式如何操作
    centos8 安装redis
    jQuery简单的Ajax调用
  • 原文地址:https://www.cnblogs.com/the-tops/p/6207191.html
Copyright © 2011-2022 走看看