美文网首页
直接修改jar包里面的Class文件

直接修改jar包里面的Class文件

作者: hongzhenw | 来源:发表于2024-03-31 10:24 被阅读0次

有的时候,可能需要直接修改java class文件,反编译得到源码后,可能会遇到很多类报错,若是只修改要改的class文件,不失为一个好的方式。

1. 使用JD-GUI查看jar,并保存源码

得到了Test.java源码文件

2. 修改Test.java源码文件

比如,加了日志输出啥的

3. 重新编译Test.java源码文件,得到Test.class

javac -cp 源码.jar Test.java

3.1 若是,遇到错误:Test.java:20: 错误: 编码GBK的不可映射字符,则需要指定java文件的编码方式,使用以下命令:

javac -cp 源码.jar -encoding UTF-8 Test.java

3.2 若是,遇到错误:Test.java:3: 错误: 程序包android.content不存在,这是缺少android.jar导致(缺少其它jar类似,使用;符引入即可)

javac -cp 源码.jar;android.jar -encoding UTF-8 Test.java

4. 编译成功后,会得到Test.class

5. 使用压缩包软件,打开“源码.jar”,使用编译出来的Test.class覆盖“源码.jar”里的Test.class

6. 也可使用JD-GUI再次查看下“源码.jar”,看是否修改Test.class是否成功

相关文章

  • 修改jar内容,去cad license

    一、添加依赖 二、定位要修改的内容 三、将修改过的class文件,覆盖到jar包 1、.jar包/META-INF...

  • 记:分布式单点登录框架 xxl-sso

    1、修改jar包的class文件步骤: 2、用maven打包后将修改好源代码生成的class文件上传到服务器特定的...

  • 打一个可执行的jar包

    网上下载了一个jar包并修改了其一个class文件,在重新打jar包的时候出现了问题,提示没有主清单文件,下面解决...

  • 四、实战过程

    1、将java文件编译成class: 2、将class打成jar包 【jar -cvf *****.jar *.c...

  • Android Studio 打包jar,aar

    1.Jar &Aar jar包与aar包的区别 jar是java字节码文件(class文件)的归档文件,其不包含a...

  • Package&Jar

    Jar包 Jar(Java Archive)包是将class文件归档压缩之后所展现的文件形式.以.jar为后缀 P...

  • .aar与.jar文件区别及生成

    jar包与aar包联系和区别 jar包:即为java代码的class文件集合。解压后的文件内容如下。 aar包:不...

  • Exception in thread "main" java.

    话不多说,直接上代码:修改前pom文件如下: 打出来的jar包,执行 java -jar hello-blockc...

  • 替换jar的class文件

    在某些情况下,直接替换jar中的class文件,可以免去编译构建jar的时间,快速修改代码。例如需要对测试环境代码...

  • Android里混淆jar包

    Android里,使用Ellispe混淆jar包的时候,如果jar包里没有访问资源文件的代码,那么直接配置prog...

网友评论

      本文标题:直接修改jar包里面的Class文件

      本文链接:https://www.haomeiwen.com/subject/bzgvtjtx.html