java反编译

  • 方式
  • 使用经验
  • Idea进行反编译
  • 碰到错误处理方式
  • class version对应的版本

方式

  1. 利用Idea直接查看引入的jar包,或者利用idea反编译插件,将jar包变成java文件
  2. 在线上传jar包进行反编译:http://www.javadecompilers.com/
  3. 自己下载工具进行反编译

使用经验

  • 最好去使用idea反编译插件,将jar包变成java文件;
  • 其他的工具有的太老,结果很差劲,有的字符集不支持需要去调整

Idea进行反编译

从idea的terminal进入需要反编译jar包的位置,执行以下命令

# mac
java -cp "/Applications/IntelliJ IDEA.app/Contents/plugins/java-decompiler/lib/java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true ***.jar "/Users/***"
# windows
java -cp "D:\Program Files\JetBrains\IntelliJ IDEA 2021.3.2\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true ***.jar "D:\Program Files\"
# 参数说明
1.idea自带的反编译插件我位置——"/Applications/IntelliJ IDEA.app/Contents/plugins/java-decompiler/lib/java-decompiler.jar"
2.需要反编译的jar包——***.jar
3.结果输出位置——"/Users/***"

结果输出后还是一个jar文件,直接解压就可以,里面是.java格式的

碰到错误处理方式

  • 我猜测该问题原因是idea自带jvm是11版本的,然后这个包是使用jdk11编译的
  • 运行的时候用的是自己的环境,52就代表了1.8版本,低版本编译在高版本可以兼容运行,但是高版本的编译在低版本就无法运行
  • 所我我又装了一个11版本的jdk问题就解决了
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/jetbrains/java/decompiler/main/decompiler/ConsoleDecompiler has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:757)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)at java.net.URLClassLoader.access$100(URLClassLoader.java:74)at java.net.URLClassLoader$1.run(URLClassLoader.java:369)at java.net.URLClassLoader$1.run(URLClassLoader.java:363)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:362)at java.lang.ClassLoader.loadClass(ClassLoader.java:419)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)at java.lang.ClassLoader.loadClass(ClassLoader.java:352)at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)

class version对应的版本

Java 1.0 45.0
Java 1.1    45.3
Java 1.2    46.0
Java 1.3    47.0
Java 1.4    48.0
Java 5  49.0
Java 6  50.0
Java 7  51.0
Java 8  52.0
Java 9  53.0
Java 10 54.0
Java 11 55.0
Java 12 56.0
Java 13 57.0
Java 14 58.0
Java 15 59.0
Java 16 60.0
Java 17 61.0
Java 18 62.0
Java 19 63.0

java反编译;将class变成java;利用idea进行反编译相关推荐

  1. java反编译工具_移动app安全测试 - 客户端 - 反编译保护

    测试小白一枚,最近刚刚开始接触移动App的安全性测试.结合项目的情况和自己一点粗陋的经验,计划从客户端安全.网络传输安全和服务端安全三个方面进行学习和探索. 1.前言 APP客户端作为直接和用户接触的 ...

  2. 友盟统计java代码_SFAnalytics 分析友盟统计源码,反编译 SDK,还有部分没有 出来 android 259万源代码下载- www.pudn.com...

    文件名称: SFAnalytics下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 8023 KB 上传时间: 2016-06-05 下载次数: 0 提 供 者: ...

  3. java反编译工具_Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)...

    我之前推送过Java代码的编译与反编译,其中简单的介绍了Java编译与反编译相关的知识,最近给GitChat写<深入分析Java语法糖>的时候,又用到了很多反编译相关的知识,遂发现哪篇文章 ...

  4. Java反编译工具推荐 -- DJ Java Decompiler

    DJ Java Decompiler 是个反编译的工具,可以将编译过的 CLASS 文件编译还原成为 Java 原始文件,并且不需要额外安装 JVM(Java Virtual Machine)或是 J ...

  5. [转]一款可以反编译jar包的java反编译工具-JD-GUI(绿色软件)

    [转]一款可以反编译jar包的java反编译工具-JD-GUI(绿色软件) 文章分类:Java编程 该软件无需安装,界面清爽. 转自:http://www.devdoc.org/index.php/a ...

  6. JAD反编译class文件成java文件

    class文件是字节码文件,打开谁也看不懂,但是如果需要用里面代码的时候怎么办呢?其实通过JAD就可以进行反编译class文件成java文件 1.下载JAD JAD官网:https://varanec ...

  7. Java反编译利器-Jad, Jode, Java Decompiler等及其IDE插件

    对于长年使用Java的程序员,大部分应该都会或多或少的使用到反编译软件.毕竟,不可能你所使用到的每一个包都会提供完善的javadoc,而且,有时候代码比javadoc更容易理解.这里将讲述笔者所了解的 ...

  8. java原生的编译软件_原生态Java 程序员容易忽视的编程细节

    Java是Java程序设计语言和Java平台的总称,要想学好一门语言,打好基础最关键的,学习一种新的编程语言比学习新的口头语言要容易得多.然而,在这两种学习过程中,都要付出额外的努力去学习不带口音地说 ...

  9. java能盗号吗_CVE-2017-8759漏洞新利用:Java Keylogger盗号木马分析

    0×2 木马行为分析 1. 恶意word文档行为分析 该恶意word文件中除了一个"链接对象"外,没有其它任何内容.在未修复CVE-2017-8759漏洞的机器上双击打开此word ...

最新文章

  1. 浏览器渲染原理及可能出现的bug
  2. {“errmsg“:“name length invalid rid: 5fbf54ef-3a02c“,“errcode“:300002}
  3. SQL之 UNION ALL 和UNION
  4. mybatis思维导图,让mybatis不再难懂(二)
  5. 【HDU - 4417】Super Mario(查询区间小于K的数的个数,主席树)
  6. synchronized使用和原理全解
  7. 玩转DB里的数据—阿里云DMS任务编排之简介和实操
  8. Drools集成SpringBootStarter
  9. Java停车场管理系统使用栈和队列任务台程序
  10. 详解MySQL事务隔离
  11. Webframe x-scroll
  12. QtDBus快速入门
  13. opencv 双目测距
  14. python 正则表达式量词
  15. JS手写面试题 --- 数组扁平化
  16. linux 配置使用ftp 使用账号密码登陆失败
  17. Python--fractions库【分数、有理数】
  18. 第一代计算机磁鼓,磁鼓计算机
  19. zookeeper伪分布环境搭建
  20. ACM--几何––圆––角速度--HDOJ 1593--find a way to escape

热门文章

  1. CMMI组织结构和岗位保证
  2. 2.3 Python图像的空域增强处理-直方图修正
  3. lottie 导出html,Lottie-前端实现AE动效
  4. 基于LabVIEW的汽车仪表步进电机测试系统ETest
  5. linux停止network服务命令是,Linux启动关闭重启网络服务的两种方式
  6. 气流预测网站_如何优化房屋的气流以节省空调费用
  7. 最新python各种版本下载
  8. 多层Unity3D物体模型穿透问题处理
  9. java生成md5校验码_如何用java获取ftp服务器上文件的md5校验码?
  10. WPF控件样式、模板