前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JD-GUI反编译jar包为Java源代码

JD-GUI反编译jar包为Java源代码

作者头像
震八方紫面昆仑侠
发布于 2020-07-22 14:07:44
发布于 2020-07-22 14:07:44
7.5K0
举报

程序员难免要借鉴其他java工程的代码。可有时只能拿到.calss文件,jar包或者war包,这个时候要求程序员能熟练的将这些类型文件反编译为Java代码并形成可编译运行的项目。本文介绍的反编译工具是JD-GUI。反编译的jar包是一个springboot项目的jar包。

下载地址https://pan.baidu.com/s/1zomK-U1eBN2_Z4wqscUvwA

提取码g8v8

下载后解压,无需安装,双击打开exe文件。

open file选择要反编译的jar包,

打开,左侧classes->com目录下就是java源代码文件

点击想查看的文件,可以看到源代码,点击有下划线的变量符号,会自动跳转到定义处,也可以搜索变量名,但是搜索时会比较慢,需要多等一会。

这样只能查看代码,要编译修改运行代码,就要把所有代码提取出,形成工程项目。点击File->save all source

源代码会保存为压缩包

压缩包解压是三个文件夹

java代码都在BOOT-INF/calsses/com里

将classes目录里的所有东西一起拷贝到建立好的空的springboot项目中编译运行,目录层次要拷贝正确。application.properties和pom.xm里的内容复制反编译解压目录同名文件里的,粘贴到springboot项目对应文件里。

现在项目代码有了,配置文件也有,但是一般还不能成功运行项目。因为反编译的pom不是特别准确,可能很多项目需要的包,pom里没有import。或者原项目用的一些jar包本来就是手工导入项目,不是pom统一管理的。

最好的办法就是从被反编译的jar包里提取所有需要import的jar包。

将test01.jar后缀名改成zip test01.zip,解压到当前文件夹。

解压后的BOOT-INF\lib里有本项目需要的全部jar包,将所有jar包通过add external jar的方式加到项目中。

到这里距离成功运行项目很近了,因为反编译的代码也不是特别精确,有些代码需要人工分析修改,或者修改不成功只能注释掉,才能通过编译。运行时有些包可能报错,主要是pom引入的包和手工导入的包冲突,或者有些包版本不对,也需要逐一解决。当然,有些反编译项目直接正确运行不报错误,这样当然最好了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL从删库到跑路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java反编译Jar包 jd-gui 与 Idea自带工具反编译jar包!
下载地址:https://gitee.com/li_kun_zang/jd-gui/releases/v1.6.6
收心
2022/04/19
3.3K0
Java反编译Jar包 jd-gui 与 Idea自带工具反编译jar包!
JD-GUI和JAD对War包和Jar包进行反编译教学
JD-GUI和JAD是两个用于反编译Java字节码的工具。它们通常在以下情况下使用:
绿毛龟
2024/01/19
3.6K0
JD-GUI和JAD对War包和Jar包进行反编译教学
反编译Apk得到Java源代码
转载自:http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html
听着music睡
2019/02/20
2.2K0
SpringBoot-Jar包分离
(1)按照正常的springboot项目打包方式,对项目进行打包package,其打包后目录如下:
星辰sea
2022/10/29
7350
SpringBoot-Jar包分离
(Mac)反编译Android APK详细操作指南[ApkTool,dex2jar,JD-GUI]
早在4年前我曾发表过一篇关于《Android开发之反编译与防止反编译》的文章,我在该文章中对如何在Windows平台反编译APK做了讲解,如今用Mac系统的同学越来越多,也有很多朋友问我能否出一篇关于
CrazyCodeBoy
2018/05/15
3.5K0
JD-GUI 反编译jar包
如果出现无法验证开发者,你确定要运行此软件吗提示则到设置中点击允许,这里会弹出是否允许
javaNice
2023/11/22
8580
[1038]dex2jar+jd-gui工具反编译安卓apk
dex2jar 这个工具用于将dex文件转换成jar文件 下载地址:http://sourceforge.net/projects/dex2jar/files/
周小董
2021/08/05
1.3K0
SpringBoot打包部署解析:jar包的生成和结构
SpringBoot项目支持两种常见的打包形式: jar 包和 war 包。默认情况下创建的 Spring Boot项目是采用 jar 包形式,如果项目需要 war 包,可通过修改配置打成 war 包。
愿天堂没有BUG
2022/10/28
1.9K0
SpringBoot打包部署解析:jar包的生成和结构
当我们的执行 java -jar xxx.jar 的时候底层到底做了什么?
大家都知道我们常用的 SpringBoot 项目最终在线上运行的时候都是通过启动 java -jar xxx.jar 命令来运行的。
Java极客技术
2023/02/23
7930
当我们的执行 java -jar xxx.jar 的时候底层到底做了什么?
SpringBoot Jar包瘦身 - 跟大文件说再见!
SpringBoot部署起来配置非常少,如果服务器部署在公司内网,上传速度还行,但是如果部署在公网(阿里云等云服务器上),部署起来实在头疼、就是 编译出来的 Jar 包很大,如果工程引入了许多开源组件(SpringCloud等),那就更大了。这个时候如果想要对线上运行工程有一些微调,则非常痛苦
云扬四海
2019/08/06
1.8K0
Android安全机制之反编译
今天我们就来探讨一下反编译,其实反编译在我一开始学习Android的时候就听说过,但是一直没有去尝试。初次接触应该就是那次“蜻蜓FM v5.0.1 apk”事件了( 此处应有掌声(¯ □ ¯) )。那时根据网上的教程第一次反编译了“蜻蜓FM”的apk,看到了传说中的“普罗米修斯方法”以及“宙斯类”(不得不感慨开发小哥的智商)。之后就是在阅读《Android群英传》时也有相关反编译的内容,觉得有必要记录一下。所以这就是本片写博文的起源了。
俞其荣
2022/07/28
3980
Android安全机制之反编译
SpringBoot - 探究Spring Boot应用是如何通过java -jar 启动的
大家开发的基于Spring Boot 的应用 ,jar形式, 发布的时候,绝大部分都是使用java -jar 启动。 得益于Spring Boot 的封装 , 再也不用操心搭建tomcat等相关web容器le , 一切变得非常美好, 那SpringBoot是怎么做到的呢?
小小工匠
2021/08/17
1.6K0
SpringBoot - 探究Spring Boot应用是如何通过java -jar 启动的
JD-GUI 反编译工具:探索 Java 字节码的奇妙世界
在 Java 开发领域中,经常会遇到需要查看已编译的 Java 类文件的情况。然而,已编译的类文件通常以二进制形式存在,不可直接阅读和理解。幸运的是,有一款强大而易用的工具,它可以帮助我们将这些类文件转换为可读的 Java 源代码。它就是 JD-GUI(Java Decompiler GUI)。
高久峰
2023/06/29
1.8K0
【小工具】反编译指南
相信在大学学习过编译原理这门课程的小伙伴都看过这段话,“编译的主要的目的是将便于人编写、阅读、维护的高级语言所写作的源代码程序,翻译为计算机能解读、运行的低级语言的程序,也就是可执行文件。那么反之,我们亦可以通过低级语言进行反向工程,获取其源代码。这个过程,就叫做反编译。”
用户9913368
2022/08/13
2.9K0
【小工具】反编译指南
android反编译apk_apk反编译找不到
APKTool是GOOGLE提供的APK编译工具,需要JAVA运行环境,推荐使用JDK1.6或者JDK1.7。
全栈程序员站长
2022/10/01
1.5K0
linux上对jar包的操作
vim xxx.jar 该命令首先会列出全部文件,可以通过输入/abc来搜索,定位到对应的abc文件后回车进入配置文件内进行编辑,:wq保存。
用户7741497
2022/03/14
2.9K0
APK逆向工程
APK(android Application PacKage)文件是安卓app的安装文件,其实就是一个zip或rar压缩包,把apk后缀改为zip,即可解压得到一堆安卓相关文件。
李小白是一只喵
2020/11/24
1.2K0
APK逆向工程
【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
学习 Android 安全 , 首先要了解常用的破解 Android 应用的方式 , 本篇博客中简单介绍了破解 Android 应用的
韩曙亮
2023/03/28
3.1K0
【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
jar包与war包的区别
jar包:对于学习java的人来说应该并不陌生。我们也经常使用也一些jar包。其实jar包就是java的类进行编译生成的class文件就行打包的压缩包而已。里面就是一些class文件。当我们自己使用maven写一些java程序,进行打包生成jar包。同时在可以在其他的工程下使用,但是我们在这个工程依赖的jar包,在其他工程使用该jar包也要导入。
全栈程序员站长
2022/08/31
1.4K0
jar包与war包的区别
.Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译
apk(android package)就是我们安卓系统的安装文件,可以在模拟器和手机中直接打开安装,从项目中打包apk有几种方式可取 一、最简单的方法(类似我们的winfrom) 只要我们调试或者运行过项目,在项目下的bin debug下就有同名apk文件了(Eclipse)下是这样的。在Android下变成了\app\build\apk下了 当然我们不能把这个apk放在商店。没有签名会被人家的apk替换 二、签名发布 1.签名的意义   为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同
用户1149182
2018/01/16
9440
.Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译
推荐阅读
相关推荐
Java反编译Jar包 jd-gui 与 Idea自带工具反编译jar包!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档