java如何转成jar包,修改及反编译可运行Jar包实现过程详解
将可运行Jar包,反编译成项目,修改代码,再次编译,打包。
需要工具:jd-gui、myeclipse
具体步骤:
1、使用jd-gui打开原始的Jar包,选择File-->Save All Sources,会生成一个zip压缩包
2、解压这个压缩包,生成一个文件夹,可以看到文件夹里所有的class文件变成了java源码文件。(如果最开始直接解压原始的Jar包,那么解压出来的就是class文件,而不是java源文件)
3、打开myeclipse,新建一个普通的Project项目,将解压后的内容拷贝到项目里。
4、此时编译会报错,因为缺少依赖的Jar包,需要找到相应的包并且导入。那么这些包到底是哪些呢?
使用jd-gui打开最原始的Jar包,在META-IN目录下的maven目录下,有所需要的依赖包。其中pom.properties中记录着Jar包的版本信息,可以直接从maven仓库下载这些包
5、最后,项目重新编译,并且打成Jar包。如果生成的源码可以运行,就直接编译,直接打包。
6、如果生成的项目不能运行,但是你只需要更改一两个类:
(1)编译。如果导入了所依赖的包,那么项目编译应该是没问题的,这一步仔细检查。然后使用myeclipse或者java命令编译,生成一个class文件。
(2)打包。
简单的方法:使用rar,zip,好压等解压缩工具打开原始的Jar包,直接把修改的class文件拖进去,覆盖原来的class文件。
复杂的方法:将原始Jar包,直接解压生成一个文件夹,解压后的是class文件。用修改后的class文件进行替换,再将这个文件夹压缩生成一个zip文件,最后将zip文件的后缀名改成jar,即可运行。
注意使用winrar工具打包时,要选择压缩文件格式为zip
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/acm-bingzi/p/decompileJar.html
java如何转成jar包,修改及反编译可运行Jar包实现过程详解相关推荐
- java编译不报错但运行啥都没_java编译时与运行时概念与实例详解
java编译时与运行时概念与实例详解 发布于 2020-7-29| 复制链接 本篇文章通过实例对 java程序编译时与运行时进行了详解,需要的朋友可以参考下 Java编译时与运行时很重要的概念,但是一 ...
- java运行时_java编译时与运行时概念与实例详解
Java编译时与运行时很重要的概念,但是一直没有明晰,这次专门博客写明白概念. 基础概念 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只 ...
- 服务器修改ip socket,ServerSocket默认邦定IP实现过程详解
开发中需要开启服务端的时候,本地测试都是直接写端口,实际环境也是需要指定要邦定的IP才可以. 因为对于服务器来说,有时它不止一块网卡,而我们系统一定是通过指定的IP和端口进行通信的,所以服务端所使用的 ...
- Java jar 如何防止被反编译?代码写的太烂,害怕被人发现
欢迎关注方志朋的博客,回复"666"获面试宝典 java作为解释型的语言,其高度抽象的特性意味其很容易被反编译,容易被反编译,自然有防止反编译措施存在.今天就拜读了一篇相关的文章, ...
- jar 反编译_Java加密jar包流程
Java加密效果概述 深思对 java 的源码保护方式是通过 Virbox Protector 与DS Protector 工具进行保护.软件商无需任何代码开发,即可轻松加密Java应用程序.Jar包 ...
- java压缩文件详解_Java解压和压缩带密码的zip文件过程详解
前言 JDK自带的ZIP操作接口(java.util.zip包,请参看文章末尾的博客链接)并不支持密码,甚至也不支持中文文件名. 为了解决ZIP压缩文件的密码问题,在网上搜索良久,终于找到了winzi ...
- Java类的加载过程详解 面试高频!!!值得收藏!!!
受多种情况的影响,又开始看JVM 方面的知识. 1.Java 实在过于内卷,没法不往深了学. 2.面试题问的多,被迫学习. 3.纯粹的好奇. 很喜欢一句话: 八小时内谋生活,八小时外谋发展. 望别日与 ...
- Java web 开发的概念、环境配置、创建项目过程详解(Eclipse)
Java Web 开发 Java Web 开发概念 搭建过程 详解 在eclipse创建Dynamic Web Project 创建时选择Tomcat的版本 创建项目成功 eclipse环境下如何配置 ...
- Jar包加密,防止反编译
Jar包加密,防止反编译方法 XJar加密工具 XJar功能特性 使用方法(手动执行方式) 使用方法(Maven插件方式) exe4j加密工具 使用方法 jvmti加密工具 使用方法 参考 XJar加 ...
最新文章
- 机器学习入门(14)— 神经网络学习整体流程、误差反向传播代码实现、误差反向传播梯度确认、误差反向传播使用示例
- 诊断ORA-08103错误
- python3 安装 mysql 用pip install PyMySQL
- jvm性能调优实战 - 25模拟在Young GC过后因为放入下Survivor区域直接进入老年代
- HEX、DEC、OCT和BIN的解释
- unity3d常用组件及分析
- 一个自己的tooltip
- angular使用动态组件后属性值_Angular 2-组件
- Android JNI
- 007 JVM堆内存划分
- VUE 3文件上传 Change事件无效 和 unsupported media type 415
- 关于linux网络编程的项目,linux网络编程入门
- 苹果备份删除有影响吗_苹果官网崩了,对手机的销售有什么影响吗?
- iris学习踩坑之旅
- Planet比Google earth更好用的地图下载神器Basemaps Viewer不用写代码全球高清影像框选下载tif格式
- 2020南京大学软件学院夏令营模拟机试题集
- JAVA 实现《模式策略的角色扮演游戏》游戏
- 计算机存储器件中运行速度最快,选择题:下列存储器中,存取速度最快的是()...
- 一招教你看懂Netty!java笔试常见的逻辑题
- Win Me下的Ghost