近来刚做完项目闲来无事就研究起了反编译,之前做一个orc识别vin码功能在度娘出来的全是那几家公司在做广告,后在在公司数据破解的同事帮助下弄了个apk过来。反编译看看是怎么实现的,后面反编译出来看到是调用so库来实现识别的,就没有继续研究了,在此做个记录。好记性不如烂笔头嘛。。。

class文件是java文件编译后产生的一个文件,class文件便于在软件上运行,但是我们无法阅读中间的程序,所以我们需要将class文件转换成java文件。

1.首先要个工具:

jad.exe 要的可以到这里找需要的下载(点击打开链接)

1.使用win+R快捷键,打开“运行”界面。

2.输入cmd,打开命令窗口。

3.因为我的jad.exe软件在D盘里,所以我需要先转换到D盘,输入D:再按enter键进入D盘。

4.因为我的jad.exe在D:\java\jad158g.win里面,所以我输入cd D:\java\jad158g.win进入jad文件夹里面。

5.接着就是找到自己要转换的class文件所在的位置,将这个文件复制到jad.exe所在的文件夹下。

6.然后输入如下示的命令再按下enter键,就可以开始转换了。

转换批量转换就可以了:

例如:将需要反编译的多个文件放在指定路径下。为了方便操作,我将文件放在D盘目录下的classes_dex2jar文件夹中。打开运行--->输入cmd--->输入cd c:/,将路径指到C盘根路径下。

再输入编译命令,命令:jad -o -r -s java -d src classes_dex2jar/**/*.class

就能在根目录下发现是src的文件夹,里面都是反编译后的java源文件(马赛克的文件夹忽略,是我之前测试的)。

然后对比下转换前和转换后的文件夹:

转换前(由于这个文件时已上线的项目破解后反编译的所以就马赛克下啦):

转换后的文件:

这就OK啦,批量转换!还有什么不懂得可以留言问,我有空会解答。

jad命令的参数含义如下:
       -o:覆盖旧文件,而且不用提示确认。
       -r:重新加载生成包结构。
       -s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
       -d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
       classes/**/*.class:classes是需要反编译的文件夹的名字,整个表示classes目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。

参考连接:

class转java

java的class批量反编译

java的class文件批量反编译成java相关推荐

  1. Java的class文件批量反编译成Java文件

    Java的class文件批量反编译成java文件 Class文件是java文件编译后产生的一个文件,class文件便于在软件上运行,但是我们无法阅读中间的程序,所以我们需要将class文件转换成jav ...

  2. java的class文件批量反编译

    在上一篇文章中,已经将jad加入到了%JAVA_HOME%/bin中,也配置了环境变量,接下来就可以在命令行中使用. 例如:将需要反编译的多个文件放在指定路径下.为了方便操作,我将文件放在C盘根目录下 ...

  3. 将DEX反编译成Java源代码

    本文翻译自:decompiling DEX into Java sourcecode 如何将Android DEX(VM字节码)文件反编译成相应的Java源代码? #1楼 参考:https://sta ...

  4. jar包、class文件批量反编译并解压

    jar包.class文件批量反编译并解压 该脚本可以在一个java工程目录下自动搜寻jar包.class文件,并在同级目录下创建一个新的文件夹来保存反编译和解压结果. 使用反编译插件为fernflow ...

  5. jar反编译成java工具

    在开发过程中,经常使用到jar包.有的jar是在ide不能查看源码的. 这时就可以使用到jar的反编译工具. 传送门: http://download.csdn.net/detail/wzp09tjl ...

  6. .java编译成.class 与 .class反编译成.java

    了解下这两个文件类型:.java文件是给人看的,.class是给计算机看的.程序员编写的是.java文件,经编译后生成.class文件给计算执行. 相信这两句话很形象的说明了这两个文件的关系了. 1, ...

  7. xjc java_JDK Tools - xjc: 将 XML Schema 编译成 Java 类

    xjc 是 JAXB 将 xsd 生成 Java 类的工具. 命令格式 xjc [ options ] schema file/URL/dir/jar ... [-b bindinfo ] ... 命 ...

  8. Apk文件破解反编译(转)

    首先我们了解下什么是apk APK是AndroidPackage的缩写,即Android安装包(apk).APK是类似Symbian Sis或Sisx的文件格式.通过将APK文件直接传到Android ...

  9. Java开发必会的反编译知识

    转载自 Java开发必会的反编译知识 编程语言 在介绍编译和反编译之前,我们先来简单介绍下编程语言(Programming Language).编程语言(Programming Language)分为 ...

最新文章

  1. VBA语言(二)变量、数据类型和常量
  2. 空类的sizeof为1
  3. 网络编程懒人入门(二):快速理解网络通信协议(下篇)
  4. css权威指南第四版_16个非常有用的CSS伪选择器,你千万不要错过了!
  5. 河北农业大学计算机科学分数线,河北农业大学现代科技学院计算机科学与技术专业2016年在河北理科高考录取最低分数线...
  6. NoSuchObjectException(message:ods_db.event table not found)
  7. JS获取浏览器高度、屏幕高度、宽屏
  8. cie色度图matlab,带你解读 CIE1931色度图
  9. 消除ImageButton的灰色背景图片
  10. POI读取Excel时报错java.util.zip.ZipException: invalid stored block lengths
  11. Bash玩转脚本3之几个指令有趣的筛选京东评价
  12. 微信小程序-创建小程序+编写学生评教系统的学生登录页面
  13. Java多线程 信号量和屏障实现控制并发线程数量,主线程等待所有线程执行完毕2
  14. Mac port 安装postgres92 + postgres92-server
  15. cpi 计算机体系结构 转移指令,计算机体系结构题目.ppt
  16. R设置默认语言为英文的方法
  17. 力扣122题:买卖股票的最佳时机 II
  18. P4848 崂山白花蛇草水
  19. 自由截图、提取、翻译图中文字——搜狗浏览器之截图扩展
  20. python3爬虫爬取英语单词到MySQL数据库

热门文章

  1. 机器学习作业-FOGS: 基于学习图的一阶梯度监督交通流预测
  2. WDK_基于Fabric的区块链系统开发
  3. form表单提交数据的两种方式——submit直接提交、AJAX提交
  4. webpack-dev-server的代理(proxy)
  5. win32程序窗口的创建
  6. 小布老师讲座笔记(三)
  7. php修改头像接口,thinkphp修改头像
  8. idea设置Java类和方法注释模板
  9. 词袋模型(BOW,bag of words)和词向量模型(Word Embedding)理解
  10. 目前企业的云计算转型,主要可以划分为哪四个阶段?