JAVA中如何使用IDEA实现反编译(图片详解)
大家好,我是躺平哥,最近有个叫反编译的东西着实吸引到了我,因此写了这篇博客作为总结,有不对的地方请大家多多斧正!
1,反编译介绍
1),什么是反编译?
通俗一点来讲,就是讲class文件变回java文件(后缀)。
class和java文件涉及到了java程序开发原理
下面介绍一下:
如图所示,源文件是程序员能看懂但是计算机看不懂得程序,所以要用javac程序将源文件变为字节码文件(程序员看不懂但是计算机看得懂),然后计算机通过java.exe在控制台上打印输出!
下面为图解:
2,如何使用IDEA实现反编译具体步骤
下面是我们想要反编译的一段代码,要想变为它下面的源码,要如何操作呢?下面我们来一起看看吧!
package cn.itcast.demo;public class test {public static void main(String[] args) {String name ="躺平哥";//JDK的新特性,表达式结果可以是字符串!!!//字符的本质还是数字//反编译 java--class(字节码文件)--反编译(IDEA)switch (name){case"小佬":System.out.println("小佬");break;case"躺平哥":System.out.println("躺平哥");break;default:System.out.println("弄啥嘞!");}}
}
package cn.itcast.demo;public class test {public test() {}public static void main(String[] args) {String name = "躺平哥";byte var3 = -1;switch(name.hashCode()) {case 750909:if (name.equals("小佬")) {var3 = 0;}break;case 35884300:if (name.equals("躺平哥")) {var3 = 1;}}switch(var3) {case 0:System.out.println("小佬");break;case 1:System.out.println("躺平哥");break;default:System.out.println("弄啥嘞!");}}
}
1)打开class文件所在位置(找猫猫)
首先就像躲猫猫一样先找到class的藏身之所啊哈哈0^0
先打开IDEA点击中间的图标
然后复制所在位置
打开我的电脑搜索栏然后复制进去
访问
找到后缀为class的文件,他就是字节码文件!然后右键打开(我用的是Notepad++打开的)
打开以后会让你一脸懵逼,还以为找到了火星语言
没错!就是那么一堆乱码,这就是计算机能看懂的字节码文件(ps:反正第一次给我整懵逼了)
2)利用IDEA导入字节码文件
找到包然后右键点击
点击完这个后会出现这个
然后找到字节码文件点击一下就好了嘿嘿
最后用idea打开即可!
谢谢各位大佬的观看,冲冲冲!!b站爷来了
JAVA中如何使用IDEA实现反编译(图片详解)相关推荐
- Java中print、printf、println的区别 详解
Java中print.printf.println的区别详解 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和pr ...
- JAVA中的类和对象之this的详解
系列文章目录 第一章 JAVA中的类和对象之this的详解 目录 前言 一.为什么要有this引用 二.this的三种用法 1.this.成员变量 2.this.成员方法 3.this()调用其它的构 ...
- Java中的语法糖及反编译工具
雪压枝头低,虽低不着泥 壹·Java中的反编译工具 贰·常见的12"颗"语法糖 switch forEach lambda if条件编译 变长参数 enum assert断言 tr ...
- Android 反编译APK详解
目录 一,所需工具 二,Apk反编译获取源码 三,apk反编译获取资源文件 四,反编译apk获取资源文件方式二 附 一,所需工具 apktool (资源文件获取) 下载路径:https://ibot ...
- Java 中的泛型(两万字超全详解)
文章目录 前言 一.泛型概述 1. 什么是泛型?为什么要使用泛型? 2. 泛型使用场景 3. 泛型概述小结 二.泛型类 1. 泛型类的定义 2. 泛型类的使用 三.泛型接口 四.泛型方法 1. 泛型方 ...
- Java中final类是存放在哪_详解Java中的final关键字
1 修饰属性或者变量 无论属性是基本类型还是引用类型,作用都是变量里面存放的"值"不可变 经常和static关键字一起使用,作为常量 1 基本类型,变量放的是实实在在的值,如1,& ...
- java中静态代码块的用法 static用法详解(转)
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...
- java中的关键字:this与super 大详解
文章目录 1.this 1.1. this是什么? 1.2 this调用对象中的属性.构造器和方法 2.super 2.1 super是什么? 2.2 super调用父类的属性.构造器.方法 3. t ...
- java中静态代码块的用法 static用法详解
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...
最新文章
- 【SpringBoot】SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener
- 给Source Insight做个外挂系列之二--将本地代码注入到Source Insight进程
- 特征工程——categorical特征 和 continuous特征
- 电脑C盘满了怎么办?这两种方法都能解决
- jzoj3860-地壳运动(mst)【最小生成树,三分】
- 模糊聚类算法(FCM)和硬聚类算法(HCM)的VB6.0实现及
- Oracle数据库案例整理-Oracle系统执行时故障-内存过少导致分配共享内存失败
- 使用Cmder替换cmd,让你的开发飞起来
- Hadoop YARN(入门) —— Hadoop权威指南5
- 晚上几点睡才叫“熬夜”?给你“答案”,很多人都想错了
- 控制面板中没有reltek高清晰音频管理器 插入耳机后仍然外放(已解决)
- 复古冰雪传奇H5游戏详细图文架设教程
- 计算机win7安装打印机,Win7系统怎么安装打印机 win7安装打印机的方法【图文详解】...
- HTML之基本布局设计之三栏式、两栏式设计
- 【OpenCV入门教程之五】 分离颜色通道 多通道图像混合
- 在线心语日历批量生成工具
- ios 打包 验证应用失败原因汇总
- caffe配置 一生不可自决
- 嵌入式学习(3)ADC、DMA、通信方式
- MySQL数据库提权