晓莲说-何不原创:如何通过jad把class批量反编译成java文件
背景:前几天在项目开发的时候遇到一个问题,那就是利用myeclipse编写好的一个项目打包成jar包后上传部署到服务器里,之后本地的项目被自己改来改去出现了一些问题,想着把上传到服务器里面的war包下载下来重新利用,大家都知道,war包里面的内容解压下来后java文件已经被编译成class文件了,期初用的是一款名为“jd-gui”的工具来反编译,这个很方便,不过缺点是只能一个一个的进行编译,很费时间,不能批处理。于是经过度娘与自己的摸索,利用jad完全可以做到(上面不重要,下面才是重点)。
Jd_gui网盘下载地址:http://pan.baidu.com/s/1skSxgDn(不想批处理的可以直接下载这个)
点击文件(file)中的save Source保存即可

Jad官网下载地址:http://www.varaneckas.com/jad(按照自己的电脑系统下载)
我用的是windows,如下图:

Java jad下载下来解压后有两个文件,一个exe文件和一个帮助文件,为了方便使用,我直接将exe文件放到JDK的bin目录里,这样做是为了能够执行exe文件(不用再环境变量里面配置),至于如何配置,我会在下一篇文章进行介绍。
放在jdkde bin目录后,我们打开cmd(快捷键:windows+R,输入cmd):

点击确定即可。
然后在里面输入:jad.exe -r -d c:\src -s java -8 classes/**/*.class
其中-r 表示恢复源文件的目录结构,,-ff 表示将类属性定义放在类方法定义之前, -d 表示输出目录,-s 表示文件的扩展名 ,-8表示防止乱码问题。
然后回车,你会发现一个很奇怪的现象,

表示找不到指定的文件,这肯定是这样的嘛,因为你电脑上面的c盘子文件下又没有src这个文件,而且也没有对应目录需要执行的classes文件,所以会报错,很正常的啦。
举个例子,首先得在c盘的目录下创建一个src(可以自定义,不过为了方便我们以放在C盘为例),

然后在根目录下(就是与src同目录)把需要反编译的classes文件拷贝过来(包括所有子文件)。

这个classes就是我们想反编译的所有class文件,然后再执行这条语句,你会发现一大串英文。类似这样的。

这就代表编译成功,然后就可以在src里面看到class已经编译成java然后保存到相应的文件夹里面了


希望对你能有帮助。
晓莲说-何不原创:如何通过jad把class批量反编译成java文件的更多相关文章
- 晓莲说-何不原创:java 实现二维数组冒泡排序
新手从业路-为自己回顾知识的同时,也希望和大家分享经验: 话不多说,上代码 public class 冒泡排序 { /** * @param admin * @2017.12.4 ...
- jad批量反编译class和jadeclipse集成到eclipse的设置方法
安装jad配置 1.从http://varaneckas.com/jad/下载windows版本的jad.exe 2.安装完毕后配置jad的系统环境变量 批量解压jar和class文件 1.使用7zi ...
- 【原创】Java批量反编译利器(jd-gui)介绍
Java反编译利器(jd-gui)介绍 当要做白盒测试或安全测试时,我们需要借助工具扫描被测代码,相信大家都遇到过没有源代码,而需要反编译的情形吧,也可能大家用过jad工具,我这里介绍下方便的工具jd ...
- Eclipse下jad反编译之“类文件查看器”不能处理给定的输入错误解决
Eclipse中的插件下载,安装和配置可以参考我的另一篇文章:MyEclipse反编译Class文件 下面重点讲解如何使用jad反编译 1.在DOS窗口中,到class所在目录,直接运行 >ja ...
- jad的用法(反编译某目录下所有class)
jad -s java -d E:\scm\MonitorServerEx\src2 -o -ff -r E:\scm\MonitorServerEx\classes-recomp\**\*.clas ...
- Java反编译工具Jad详解
做项目过程中需要反编译一个jar包,于是作了一些学习,记录下来. Jad(JAva Decompiler)是一个Java的反编译器,可以通过命令行把Java的class文件反编译成源代码. 如果你在使 ...
- 反编译软件jad
http://blog.csdn.net/small____fish/article/details/7687261 这是原网址,挺全的. 官网上下载jad,再把jad.exe 复制到javahome ...
- jad 反编译java
1 安装 解压jad.zip文件到任何的目录.将会创建两个文件,一个是jad.exe另一个是readme文 件,不需要任何别安装2 如何使用jad 如果我们有一个单独的java文件example1.c ...
- JAD 反编译
自动拆装箱 对于基本类型和包装类型之间的转换,通过xxxValue()和valueOf()两个方法完成自动拆装箱,使用jad进行反编译可以看到该过程: public class Demo { publ ...
随机推荐
- 【Win 10 应用开发】在代码中加载文本资源
记得前一次,老周给大伙,不,小伙伴们介绍了如何填写 .resw 文件,并且在 XAML 中使用 x:Uid 标记来加载.也顺便给大伙儿分析了运行时是如何解析 .resw 文件的. 本来说好了,后续老周 ...
- 64、django之模型层(model)--建表、查询、删除基础
要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,这篇就开始带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查.本篇仅带 ...
- LeetCode 75. Sort Colors(排序颜色)
Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...
- 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...
- spark-shell启动报错:Yarn application has already ended! It might have been killed or unable to launch application master
spark-shell不支持yarn cluster,以yarn client方式启动 spark-shell --master=yarn --deploy-mode=client 启动日志,错误信息 ...
- Python[1,1]
####################################################################################### //只是为了凑够150字 ...
- 用户 'IIS APPPOOL\Private' 登录失败。
用户 'IIS APPPOOL\Private' 登录失败. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细 ...
- Spring+MyBatis+SpringMvc整合Demo
客户关系管理系统demo 项目分析 该demo使用技术及环境:ssm+maven+bootstrap+jsp+mysql+idea+jdk1.8 需求:客户管理,实现客户列表分页显示如下图 项目开始 ...
- 【框架学习与探究之日志组件--Log4Net与NLog】
前言 本文欢迎转载,作者原创地址:http://www.cnblogs.com/DjlNet/p/7604340.html 序 近日,天气渐冷,懒惰的脑虫又开始作祟了,导致近日内功修炼迟迟未能进步,依 ...
- windows下配置wampserver
第一,打开局域网访问 配置文件:点击右下角的WAMP 服务器小托盘,选择Apache>httpd.conf 搜索关键字 "deny from ",会发现一处 "de ...