Java基础学习总结(27)——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 软件的架构和行为。
7、Java Decompiler
这款反编译器叫 “Java Decompiler”, 由 Pavel Kouznetsov开发,目前最新版本为0.2.5. 它由 C++开发,并且官方可以下载 windows、linux和苹果Mac Os三个平台的可执行程序。
官方网站:http://jd.benow.ca/
本文出自:http://www.codeceo.com/article/java-decompiler-tools.html
Java基础学习总结(27)——7 款开源 Java 反编译工具的更多相关文章
- Java基础学习总结(70)——开发Java项目常用的工具汇总
要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...
- Java基础学习总结(68)——有关Java线程方面的面试题
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者 ...
- Java基础学习总结(56)——学java必知十大学习目标
诞生至今已有20年的Java,现在依然有很多人使用.回顾过去十五年的成果,Java一直是数一数二的.Java已经成为世界范围内应用最为广泛的编程语言之一.那么在学java的时候你知道到底要学什么吗?一 ...
- java基础学习之 消息对话款
package Dome; import java.awt.event.*; import java.awt.*; import javax.swing.*; public class WindowM ...
- Java基础学习总结(72)——提升 java 代码的运行效率
前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没 ...
- Java基础学习总结(91)——阿里巴巴Java开发手册公开版
1.不要嫌名字长 无论是方法,变量,还是函数的取名,不要嫌弃名称太长,只要能够表示清楚含义就可以了. 2.String[] args而不是String args[] 中括号是数组类型的一部分,数组定义 ...
- java 最佳且开源的反编译工具
1.jad:2.jode 很多gui的反编译工具(decafe,DJ,cavaJ)差不多都是基于jad和jode的.
- Java基础学习中一些词语和语句的使用
在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
随机推荐
- 如何防止js刷新页面后倒计时改变
1.存入cookie或localstorage(清除浏览器缓存后时间依然改变) 2.存入数据库
- Dapper Dapper-Extensions
之前公司在开发项目的时候有用到过Dapper 仓储 以及IOC Castel .最近新项目上想使用上这些技术,决定新学习一下. 看了很多资料,发现几个比较容易菜鸟的我理解的,整理下来,找时间好好整理一 ...
- LCT复习
LCT,虚实链剖分.支持连边和断边操作.Tarjan制造. [HNOI2010]弹飞绵羊 当然这题分块可以做,常数小,但是LCT更无脑. 建立一个虚拟的弹飞节点\(n+1\),初始化时对于一个点假如再 ...
- windows下matlab代码到ubuntu下中文注释出现乱码
转自:https://blog.csdn.net/kouyi5627/article/details/81513329 环境:Ubuntu18.04,Matlab R2017b. 把matlab文件从 ...
- linux上 mysql 的安装,以及解决不能远程访问数据库系统的问题
1.安装 通过 yum 安装最方便 2.重设密码: 修改 etc/my.cnf 文件 skip-grant-tables 跳出登录后,# /etc/init.d/mysqld restart 重启后 ...
- 每个人都能实现的vue自定义指令
前文 先来bb一堆废话哈哈.. 用vue做项目也有一年多了.除了用别人的插件之外.自己也没尝试去封装指令插件之类的东西来用. 刚好最近在项目中遇到一个问题.(快速点击按钮多次触发多次绑定的方法),于是 ...
- vue-cli解析
前言 这段时间,算是空出手来写几篇文章了.由于很久都没有时间整理现在所用的东西了,所以,接下来会慢慢整理出一些文档来记录前段时间的工作和生活. 这篇文章的主题是vue-cli的理解.或许,很多人在开发 ...
- 洛谷 P2665 [USACO08FEB]连线游戏Game of Lines
P2665 [USACO08FEB]连线游戏Game of Lines 题目背景 Farmer John最近发明了一个游戏,来考验自命不凡的贝茜. 题目描述 Farmer John has chall ...
- CentOS6.5安装redis(3.0.3)
如果没有安装gcc需要安装gcc 才能编译成功 yum install gcc 离线安装gcc的方法 # rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm # rpm -i ...
- 6、Java类、对象、构造器、引用类型内存基本知识、引用类型值传递
1.面向对象三大特征: 封装:encapsulation 继承:inheritance 多态:polymorphism 2.类中 数据特征(property):属性(attribute)静态的stat ...