分享7款开源Java反编译工具

  今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。尤其是像.NET、Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了。

 1、Java反编译插件 —— Jadclipse

  JadClipse是Jad的Eclipse插件,是一款非常实用而且方便地Java反编译插件,我们只需将下载的插件包复制到eclipse的plugins目录下,然后修改window -> Preferences -> Java -> JadClipse 下的Path to decompiler ,如:C:\pin\jadnt158\jad.exe,最后在Windows -> Perference -> General -> Editors -> File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer” 即可。

  官方网站:http://sourceforge.net/projects/jadclipse/

 2、Java反编译工具 jad

  jad是一款使用非常广泛地Java反编译工具,上面这款Jadclipse就是基于jad的反编译插件,JAD 文件包含 MIDlet 套件的标题信息,例如开发应用程序的公司、应用程序名称和大小。

  官方网站:http://varaneckas.com/jad/

 3、Java 反编译器 JD-GUI

  JD-GUI 是一个用 C++ 开发的 Java 反编译工具,由 Pavel Kouznetsov开发,支持Windows、Linux和苹果Mac Os三个平台。而且提供了Eclipse平台下的插件JD-Eclipse。JD-GUI不需要安装,直接点击运行,可以反编译jar,class文件。

  官方网站:http://jd.benow.ca/

 4、Java反编译器 jdec

  jdec是一个Java反编译器。它能够把出现在一个.class文件中的字节码还原成Java源代码,反编译的结果几乎与原始Java文件相同。它还自带一个利用swing开发的用户操作界面。

  官方网站:http://jdec.sourceforge.net/

 5、uuDeJava

  uuDeJava是Java Class文件的反编译工具。反编译的Java源程序被输出到Class的相同目录。内部使用jad.exe。反编译Class文件时,可以直接点击Class文件(关联后),或者选中文件或目录发送到uuDeJava的快捷方式。还可以拖动文件或目录到uuDeJava的主窗口。

  官方网站:http://www.uuware.com/uudejava_cn.htm

 6、Java 反向工程软件 Minjava

  Minjava 是一个 Java 反向工程软件,可帮助理解已存在一些 Java 软件的架构和行为。

  官方网站:https://code.google.com/p/minjava/

 7、Java Decompiler

  这款反编译器叫 “Java Decompiler”, 由 Pavel Kouznetsov开发,目前最新版本为0.2.5. 它由 C++开发,并且官方可以下载 windows、linux和苹果Mac Os三个平台的可执行程序。

  官方网站:http://jd.benow.ca/

(0)

相关推荐

  • android apk反编译到java源码的实现方法

    Android由于其代码是放在dalvik虚拟机上的托管代码,所以能够很容易的将其反编译为我们可以识别的代码. 之前我写过一篇文章反编译Android的apk包到smali文件 然后再重新编译签名后打包实现篡改apk的功能. 最近又有一种新的方法来实现直接从Android apk包里的classes.dex文件,把dex码反编译到java的.class二进制码,然后从.class二进制码反编译到java源码想必就不用我来多说了吧. 首先我们需要的工具是dex2jar和jd-gui 其中第一个工具

  • java防反编译最简单的技巧分享

    前言 本文主要跟大家介绍了关于java防反编译的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码: 源码使用try-catch代码包装下,如下: public class CompileForbid { public static void main(String[] args) { try { System.out.println("-------"); //防止反编译的处理 if (654789 == new Random().nextInt()

  • 分享7款开源Java反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码.当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了. 1.Java反编译插件 -- Jadclipse JadClipse是Jad的Eclipse插件,是一款非常实用而且方便地Java反编译插件,我们只需将下载的插件包复制到e

  • java反编译工具Bytecode-Viewer分享

    在java的开发学习中,可能需要想了解class文件对应的代码内容是什么,如果我们使用IDE工具,可以通过IDE工具的各种反编译插件去进行反编译,但是java的IDE工具还是比较笨重的,启动耗时并且占用内存,这时我们就需要一些简单的反编译小工具去处理. java反编译工具有很多,这里介绍的是Bytecode-Viewer,官网地址bytecodeviewer.com 反编译 通过view菜单可以选择显示面板以及对应的反编译引擎. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支

  • 最好的Java 反编译工具的使用对比分析

    前言 Java 反编译,一听可能觉得高深莫测,其实反编译并不是什么特别高级的操作,Java 对于 Class 字节码文件的生成有着严格的要求,如果你非常熟悉 Java 虚拟机规范,了解 Class 字节码文件中一些字节的作用,那么理解反编译的原理并不是什么问题. 甚至像下面这样的 Class 文件你都能看懂一二. 一般在逆向研究和代码分析中,反编译用到的比较多.不过在日常开发中,有时候只是简单的看一下所用依赖类的反编译,也是十分重要的. 恰好最近工作中也需要用到 Java 反编译,所以这篇文章介

  • 2020年支持java8的Java反编译工具汇总(推荐)

    大多商业软件,会对程序进行加密.加壳等安全措施以防范软件被破解,从而使得反编译越来越难.反编译是一个对目标可执行程序进行逆向分析,从而得到源代码的过程.尤其是像Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码. 我们知道,在代码支撑方面,JDK 1.7引入了字符串Switch.泛型接口改进等新功能,1.8增加了lambda表达式.方法传递.多重注解等新特性,这使得反编译工具的编写难度加大.今天我们盘点一下目前仍然可用的.相对功能很强大的Java反编译工具(Eclipse插件不做

  • Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler)

    IntelliJ IDEA一个吸引人的地方在于,他有比较好的反编译工具,这让Eclipse用户牙痒痒.但不要紧,本文介绍如何在Eclipse IDE中使用IntelliJ IDEA的反编译工具Fernflower. 为啥需要反编译 很多jar不提供源码,那么打开class是这个鸟样. 不具备人类可读性.因此需要反编译. 什么是Fernflower 那么我是怎么知道Fernflower的呢?你随便用IntelliJ IDEA打开一个jar中的class文件,可以看到下面的信息,这就是IEDA中的反

  • Java代码编译和反编译的那些事儿

    编程语言 在介绍编译和反编译之前,我们先来简单介绍下编程语言(Programming Language).编程语言(Programming Language)分为低级语言(Low-level Language)和高级语言(High-level Language). 机器语言(Machine Language)和汇编语言(Assembly Language)属于低级语言,直接用计算机指令编写程序. 而C.C++.Java.Python等属于高级语言,用语句(Statement)编写程序,语句是计算

  • java如何反编译jar包并修改class文件重新打包

    目录 反编译jar包并修改class文件重新打包 解决思路 jar包反编译后修改源码再编译 1.场景 2.详细步骤 反编译jar包并修改class文件重新打包 这两天碰到一个需求:需要修改一个jar包中的逻辑代码,并且重新打包 本来是很简单的问题,但是因为这个jar包不是可执行的jar包(没有main方法入口),jar反编译之后又是不能通过idea重新打包,因为jar是混乱的 所以费了点时间,在此记录下 解决思路 反编译jar包 首先用一些反编译工具类似 jad-gui 之类的 ,将项目反编译成

  • Android反编译代码和防止反编译

    一.反编译apk文件 安装ApkTool工具,该工具可以解码得到资源文件,但不能得到Java源文件.          安装环境:需要安装JRE1.6 1> 到http://code.google.com/p/android-apktool/ 下载apktool1.3.2.tar.bz2 和apktool-install-windows-2.2_r01-3.tar.bz2 文件.      解压两个文件,然后把解压后的文件放在一起,如:c:\apktool 2> 在系统变量PATH中添加进aa

  • AutoIt脚本的反编译和代码格式化问题分析

    最近集中冒出一波AutoIt的恶意脚本来,也就多看了几个这类的样本.AutoIt脚本是以".au3"为扩展名的明文脚本,但病毒作者自然不会把明文的脚本放出来.所以自然用到了AutoIt自带的这个Au2Exe的工具: 可以看到AutoIt允许用户将au3的明文脚本编译成exe文件或者a3x文件.exe文件自不必赘述,就是我们平时熟悉的PE文件,但如果编译成exe文件,则失去了AutoIt脚本在恶意程序领域的优势(懂的自然懂,不细说),所以目前捕获的大多数恶意样本都是将脚本编译成a3x文件

随机推荐