首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java反编译工具JAD下载和使用

Java反编译工具JAD下载和使用

作者头像
shaoshaossm
发布于 2022-12-27 07:01:41
发布于 2022-12-27 07:01:41
4.3K00
代码可运行
举报
文章被收录于专栏:Java啊Java啊
运行总次数:0
代码可运行

下载安装

下载网址:https://varaneckas.com/jad/

解压压缩包并把文件夹名称改为jad

配置环境变量

打开CMD测试

使用

编写测试代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package interview;

public class TestJad {
    public static void print(String firstName, String lastName) {
        String fullName = firstName + lastName;
        System.out.println(fullName);
    }

    public static void main(String[] args) {
        print("ss","m");
    }
}

运行代码得到TestJad.class文件,打开cmd执行命令:jad .\TestJad.class

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   TestJad.java

package interview;

import java.io.PrintStream;

public class TestJad
{

    public TestJad()
    {
    }

    public static void print(String firstName, String lastName)
    {
        String fullName = (new StringBuilder()).append(firstName).append(lastName).toString();
        System.out.println(fullName);
    }

    public static void main(String args[])
    {
        print("ss", "m");
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
能读懂这篇,都是被String伤害过!!
https://www.cnblogs.com/zhujiqian/p/12202951.html
用户5224393
2020/03/11
3870
聊聊 Java 中 HashMap 初始化的另一种方式
如果你接触过不同的语言,从语法和代码层面来说,Java 是一种不折不扣的“臃肿、啰嗦”的语言,从另一方面来说这种臃肿和啰嗦也体现了它严谨的一面,作为适合构建大型、复杂项目的理由之一。 1、HashMap 初始化的文艺写法 HashMap 是一种常用的数据结构,一般用来做数据字典或者 Hash 查找的容器。普通青年一般会这么初始化: HashMap<String, String> map = new HashMap<String, String>(); map.put("Name", "June"); 
用户1177713
2018/02/24
10.1K0
ReflectASM-invoke,高效率java反射机制原理
前言:前段时间在设计公司基于netty的易用框架时,很多地方都用到了反射机制。反射的性能一直是大家有目共睹的诟病,相比于直接调用速度上差了很多。但是在很多地方,作为未知通用判断的时候,不得不调用反射类型来保障代码的复用性和框架的扩展性。所以我们只能想办法优化反射,而不能抵制反射,那么优化方案,这里给大家推荐了ReflectASM。 一、性能对比 我们先通过简单的代码来看看,各种调用方式之间的性能差距。 public static void main(String[] args) throws Excepti
生活创客
2018/03/29
2.5K0
图图细谈设计模式——单例模式
图图在为面试做准备,今天图图给大家细说一番单例模式。其实最简单的是工厂模式而不是单例(工厂后续会说)
一头小山猪
2020/04/10
3640
设计模式 - 单例模式
不管怎么跑都是一个,但是 LazyMan = new LazyMan();在极端情况下是有问题的,因为他不是一个原子性操作。
断痕
2021/01/21
4240
设计模式 - 单例模式
String字符串性能优化的几种方案
String字符串是系统里最常用的类型之一,在系统中占据了很大的内存,因此,高效地使用字符串,对系统的性能有较好的提升。
朱季谦
2020/02/18
3950
String字符串性能优化的几种方案
switch表达式中可以用哪些类型
switch语句是一个很容易忽略的语法点,在表达式支持的类型上也犯过很多错,今天就来整理一下
归思君
2023/10/16
3350
JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)
我们在日常学习中,对一个java代码有问题,不知道jvm内部怎么进行解析的时候;有个伟大壮举就是反编译,这样就可以看到jvm内部怎么进行对这个java文件解析的!我们可以使用JDK自带的javap命令来进行反编译,反编译出来的如果看不太明白,可以使用Jad工具来配合使用。还有就是把jar包完全反编译为我们写的代码的是GD-GUI,有兴趣可以去官网看一下哈,小编这里不做进一步说明。
掉发的小王
2022/07/11
6K0
JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)
走进 JDK 之 Enum
什么是枚举?说实话,在我这些年的开发生涯中,用过枚举的次数大概两只手都可以数的过来。当然你不能说枚举一无是处,只能说是我对 Java 理解的还不够深刻,在可以使用枚举的时候并没有去使用。
路遥TM
2021/08/31
6900
《Head First 设计模式》- 单例模式
设计模式在代码层级中,是让你在某种业务场景刚开始设计时,能让未来的相关需求扩展极为方便的一个思想。 简单的说,在一开始设计好,扩展是很方便的,设计模式就是这个功劳者。 对于我们本来就懒的开发人员来说,这是求之不得的。
一头小山猪
2020/04/10
2730
你干啥的?Lombok
说实话,我英文不太好(不是找借口,真的),但借助金山词霸,大致知道了这段英文的意思:Lombok 是个好类库,可以为 Java 代码添加一些“处理程序”,让其变得更简洁、更优雅。
沉默王二
2019/05/15
4960
Java| 编译和反编译
本文主要介绍4个Java的反编译工具:javap、jad和cfr以及可视化反编译工具JD-GUI
全栈程序员站长
2022/06/28
2.7K0
Java| 编译和反编译
java cglib_CGlib简单介绍
//Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.//Jad home page:http://www.geocities.com/kpdus/jad.html//Decompiler options: packimports(3)//Source File Name: packagecn.eulic.codelab.cglib;importjava.lang.reflect.Method;importnet.sf.cglib.core.Signature;importnet.sf.cglib.proxy.*;//Referenced classes of package cn.eulic.codelab.cglib://InfoManagerpublicclassCGLIB.BIND_CALLBACKSextendsInfoManagerimplementsFactory
全栈程序员站长
2022/08/30
3490
Java 反编译工具的使用与对比分析
Java 反编译,一听可能觉得高深莫测,其实反编译并不是什么特别高级的操作,Java 对于 Class 字节码文件的生成有着严格的要求,如果你非常熟悉 Java 虚拟机规范,了解 Class 字节码文件中一些字节的作用,那么理解反编译的原理并不是什么问题。甚至像下面这样的 Class 文件你都能看懂一二。
未读代码
2021/06/21
2.3K0
Java 反编译工具的使用与对比分析
7款开源java反编译工具
今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。尤其是像.NET、Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了。
斯文的程序
2019/11/07
5.7K0
JDK注解原理探索
在平时项目开发中,注解Annotation是我们常常用到的。比如使用Spring,其中@Autowired、@Component、@Service、@Resource、@Value、@Transactional等都是常用的;又如使用ORM,@Table、@Column等注解也是常用的;
孟君
2019/08/26
5750
JDK注解原理探索
2020年支持java8的Java反编译工具汇总
大多商业软件,会对程序进行加密、加壳等安全措施以防范软件被破解,从而使得反编译越来越难。反编译是一个对目标可执行程序进行逆向分析,从而得到源代码的过程。尤其是像Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。
全栈程序员站长
2022/08/03
8370
2020年支持java8的Java反编译工具汇总
设计模式 | 单例模式及典型应用
单例是最常见的设计模式之一,实现的方式非常多,同时需要注意的问题也非常多。要内容:
小旋锋
2019/01/21
1K0
JDK枚举原理解析
枚举是我们在编码过程中常用的,比如电影有多种类型:喜剧片、动作片、恐怖片、爱情片、纪录片等等。在这种场景当中,我们可以编写一个枚举类(如MovieType)来进行表示。
孟君
2019/08/28
6060
JDK枚举原理解析
premain | JVM级别的AOP
JDK5版本中提供了Instrumentation功能, 它的最大作用就是可以动态改变和操作字节码.在JDK6版本中又进行了功能扩展和完善. 而premain是JDK的Instrumentation中的一个子功能.
一个架构师
2022/06/27
5770
相关推荐
能读懂这篇,都是被String伤害过!!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档