Java反编译工具 JD-GUI安装使用

news2024/10/13 0:34:14

我们知道,将源代码转换成二进制执行代码的过程叫“编译”,那么反编译就是将二进制执行代码转换成源代码。

在java开发里,源代码是.java文件,然后经过编译后生成计算机识别的.class文件,但是.class文件是计算机识别的我们一般看不明白,因此需要反编译变成我们能读懂的源码,但是反编译后的代码并不是和源码一模一样,有些会被优化掉,是极度接近的。

JD-GUI 是一个用 C++ 开发的 Java 反编译工具,支持Windows、Linux和苹果Mac Os三个平台。而且提供了Eclipse平台下的插件JD-Eclipse。

JD-GUI不需要安装,直接点击运行,可以反编译jar,class文件,可将整个jar包直接保存为*.src.zip源代码包,反编译迅速,错误率极少。

JD分为JD-GUI、JD-Eclipse/JD-Intellij两种运行方式,JD-GUI是以单独的程序的方式运行,JD-Eclipse/JD-Intellji则是以一个Eclipse/IDEA插件的方式运行。

官网:https://github.com/java-decompiler

官方下载:https://github.com/java-decompiler/jd-gui/releases

1、打开浏览器输入下载地址

https://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/JD-GUI.shtml

2、点击上图中的"DOWNLOAD NOW"

3、在上图中选中一个下载镜像地址,此处我选择的是红框中的下载地址。这是会弹出保存文件位置对话框,你选择一个合适的位置保存,等待下载完成就可以了。

4、当前版本是1.6.6,运行jd-gui.exe,选择菜单File->Open File,找到要反编译的class文件,就会把class文件对应的java代码显示出来

使用方法

打开下载的.exe文件,点击file ---> open file,选择要反编译的jar包或者class文件

直接将要反编译的jar包或者class文件拖到JD-GUI图标上,将会自动打开

下载地址

网络不好的情况可能无法下载,我们提供了下载好的软件包给大家。微信搜索 【开源字节】 公众号,回复“ 软件工具 ”,获取下载链接;

如若转载,请注明出处:开源字节   https://sourcebyte.vip/article/325.html

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/992731.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KT142C-sop16语音芯片ic测试板的使用说明_串口如何接线

KT142C是一个提供串口的SOP16语音芯片,完美的集成了MP3的硬解码。内置330KByte的空间,最大支持330秒的语音长度,支持多段语音,支持直驱0.5W的扬声器无需外置功放 1、软件支持串口通信协议,默认波特率9600.同时支持4个…

css自学框架之ajax获取提交数据

本小结主要自学了ajax,页面部分刷新,实现动态提交数据到服务器;动态从服务区获取数据。get,post两种传递数据方法,Json、html、text、xml等多种数据格式。 展示效果如下图: 一、Javascript代码&#xff…

线程的状态 and 线程安全

在操作系统中的线程,自身是有一个状态的~,但是Java Thread是对系统线程的封装,把这里的状态又进一步精细化了。 1.NEW 系统中的线程还没创建出来呢!只是有一个Thread对象~ public class Main1 {public static void main(String[…

日入千元什么感觉?信息安全就是这么“吸金”!

一年一次的护网行动已经火热开始了,大家还记得前段时间给大家推荐的护网吗? 现在不管是国家还是企业都很重视信息安全,毕竟科技的发展越来越迅速,我们的信息安全时时刻刻都需要保障。 据研究机构统计,截止2021年&…

数字出版的资源管理系统软件开发

出版行业资源管理系统是为出版公司和数字出版机构设计的软件工具,用于帮助管理和优化出版过程。这些系统通常具有多种功能,以支持从内容创作到分销的各个方面。以下是出版行业资源管理系统的一些主要功能,希望对大家有所帮助。北京木奇移动技…

【计算机基础知识2】操作系统、应用程序和编程语言

目录 前言 一、计算机操作系统 二、计算机应用程序 三、计算机编程语言 四、操作系统、应用程序和编程语言的相互关系 总结 前言 计算机的操作系统、应用程序和编程语言是计算机科学中非常重要的三个方面。了解这三个方面的基础知识和它们之间的相互关系,对于…

编程技巧,Python缩进规则(包含快捷键)

和其它程序设计语言​ (如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。 ​ 在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等…

lvs负载均衡、LVS集群部署

四:LVS集群部署 lvs给nginx做负载均衡项目 218lvs(DR 负载均衡器) yum -y install ipvsadm(安装这个工具来管理lvs) 设置VIP192.168.142.120 创建ipvsadm的文件用来存放lvs的规则 定义策略 ipvsadm -C //清空现有…

如何使用element-ui相关组件如:el-select,el-table,el-switch,el-pagination,el-dialog

element-ui 官方链接&#xff1a; 组件 | Elementhttps://element.eleme.cn/#/zh-CN/component/installation el-select <!-- 用户类型选择框<template> 看情况使用value选择框绑定的值 命名必须是value不能改v-for"item in Options" options数据源来自于…

【dubbo3】看懂消费者如何发现提供者

服务发现机制 服务发现是RPC框架非常重要的能力。典型的服务发现一般有两种&#xff1a;接口级服务发现、应用级服务发现。  接口级服务发现典型代表是dubbo2基于zk的服务发现机制。提供者直接向注册中心注册接口信息及地址&#xff0c;消费者通过接口从注册中心拿到对应的地址…

1 Linux输入子系统

1 Linux输入子系统 https://www.cnblogs.com/beijiqie1104/p/11418082.html Linux input 子系统详解 https://www.cnblogs.com/yikoulinux/p/15208238.html

2023-9-8 求组合数(四)

题目链接&#xff1a;求组合数 IV #include <iostream> #include <algorithm>using namespace std;const int N 5010;int primes[N], cnt; bool st[N]; // 每个质数的次数 int sum[N];void get_primes(int n) {for(int i 2; i < n; i){if(!st[i]) primes[cnt]…

5.删除链表元素问题

1.删除特点节点 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5]示例 2&#xff1a; 输…

【LeetCode: 207.课程表:拓扑排序+图】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

【C/C++】BMP格式32位转24位

问题 如题 解决方法 bmp文件格式参考:【C/C++】BITMAP格式分析_vc++ bitmap头文件_sunriver2000的博客-CSDN博客BITMAP文件大体上分成四个部分,如下表所示。文件部分长度(字节)位图文件头 Bitmap File Header14位图信息数据头 Bitmap Info Header40调色板 Palette4*n (n≥…

Linux 安装elasticsearch-7.5.1

相关链接 官⽹&#xff1a; https://www.elastic.co/cn/downloads/elasticsearch 下载&#xff1a; wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-linux-x86_64.tar.gz 分词器&#xff1a; https://github.com/medcl/elasticsearch-an…

MJDK 如何实现压缩速率的 5 倍提升?

MJDK 是基于 OpenJDK 构建的美团 JDK 发行版。本文主要介绍 MJDK 是如何在保障 java.util.zip.* API 及压缩格式兼容性的前提下&#xff0c;实现压缩/解压缩速率提升 5-10 倍的效果。希望相关的经验能够帮助到更多的技术同学。 1 前言 数据压缩技术[1]因可有效降低数据存储及…

appium环境搭建

一.appium环境搭建 1.python3 python3的下载安装这里就不多做介绍了&#xff0c;当然你也可以选择自己喜欢的语音&#xff0c;比如java… 2.jdk 1&#xff09;下载地址 官网(需登录账号)&#xff1a; https://www.oracle.com/java/technologies/downloads/ 百度网盘&…

2022护网行动经验分享(2023护网招人)

今年的护网又开始摇人了&#xff0c;不知道大家有想法没&#xff1f; 去年的护网结束之后&#xff0c;朋友圈感觉是在过年&#xff0c;到处是倒计时和庆祝声。 看得出来防守方们7*24小时的看监控还是比较无奈的。 本次复盘基于我对整个护网行动的观察总结而来&#xff0c;仅…

Spring Security OAuth2 远程命令执行漏洞

文章目录 一、搭建环境二、漏洞验证三、准备payload四、执行payload五、变形payload 一、搭建环境 cd vulhub/spring/CVE-2016-4977/ docker-compose up -d 二、漏洞验证 访问 http://192.168.10.171:8080/oauth/authorize?response_type${233*233}&client_idacme&s…