java中的.class文件反编译

安装Java jdk后
  看安装目录里有没有jad.exe,没有要下载,一般都有的
  配置Java环境变量
  开始-运行-cmd-回车-进入命令行窗口:
  cd+空格+class文件所在路径:
  按下面的命令进行反编译:
  例如:[2] jad -sjava example.class 回车
  在目录里可以看到example.java源文件

  [1] 反编译一个class文件:jad example.class,会生成example.jad,用文本编辑器打开就是java源代码
  [2] 指定生成源代码的后缀名:jad -sjava example.class,生成example.java
  [3] 改变生成的源代码的名称,可以先使用-p将反编译后的源代码输出到控制台窗口,然后使用重定向,输出到文件:jad -p example.class > myexample.java
  [4] 把源代码文件输出到指定的目录:jad -dnewdir -sjava example.class,在newdir目录下生成example.java
  [5] 把packages目录下的class文件全部反编译:jad -sjava packages/*.class
  [6] 把packages目录以及子目录下的文件全部反编译:jad -sjava packages/**/*.class,不过你仍然会发现所有的源代码文件被放到了同一个文件中,没有按照class文件的包路径建立起路径
  [7] 把packages目录以及子目录下的文件全部反编译并建立和java包一致的文件夹路径,可以使用-r命令:jad -r -sjava packages/**/*.class
  [8] 当重复使用命令反编译时,Jad会提示“whether you want to overwrite it or not”,使用-o可以强制覆盖旧文件

  [9] 还有其他的参数可以设置生成的源代码的格式,可以输入jad命令查看帮助,这里有个人做了简单的翻译:jad命令总结
  [10] 当然,你会发现有些源文件头部有些注释信息,不用找了,jad没有参数可以去掉它,用别的办法吧。

原文地址:https://www.cnblogs.com/yeluowuti/p/9597516.html

时间: 2024-10-01 22:52:13

java中的.class文件反编译的相关文章

C#中修改Dll文件 (反编译后重新编译)

Dll文件生成后,如没有源代码,又要修改其中内容 可以用微软自带的ildasm和ilasm程序 先用ildasm将dll文件反编译成il文件 ildasm Test.dll /out=Test.il 会生成Test.res和Test.il两个文件 il文件可以用文本编辑器修改,要注意其中的语法 改完后再用ilasm将il文件重新编译成dll文件 ilasm /dll /res:Test.res Test.il /out:Test.dll 本人测试时因为ildasm和ilasm程序都是从网上下载来

如何将.class文件反编译为.java文件

反编译工具jad简单用法 以下假设jad.exe在c:\java目录下 一.基本用法 Usage:jad [option(s)] 直接输入类文件名,且支持通配符,如下所示. c:\java\>jad example1.class c:\java\>jad *.class 结果是将example1.class反编译为example1.jad.将example1.jad改为example1.java即得源文件. 二.Option -o 不提示,覆盖源文件 三.Option -s c:\java\&

浅析Class文件反编译后的文件与源码文件大小关系

1.  编辑java文件后(有注释的情况下) 使用eclipse编译后成为.class文件后 2. 使用反编译工具编译后使用自带(Ctrl+S)的保存源码方式保存 3. 仅复制java翻译后的信息 其大小目前为149字节. 后续处理 a.      现在删除掉[第一步]源码文件中无关注释行,其大小变为118字节,但是其功能仍能实现. b.      现在将[第二步]中反编译工具保存的源码删除了无关部分,再看其大小.发现只有通过删除无关代码和空行后,才能使得其大小与第三步得到为java文件大小一致

APK文件反编译

上次看了两篇反编译APK文件的文章,反编译了几个音乐播放器,自己借用其中一个应用的界面做了一个相应播放器.近期有比较多的空闲时间,所以打算做一个LBS旅行应用.但目前发现又不会反编译了,所以还是记录下来,下次再忘直接看自己的文章比较快.(注:以下为Windows环境下) 1:反编译Java源码(从dex文件->jar文件->java文件) 利用工具(1)dex2jar,下载地址:http://code.google.com/p/dex2jar/(不知道能不能连上) (2)jd-gui,下载地址

java中IO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象, 这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的. /** * 获取路径文件夹下的所有文件 * @param path * @return */ public static File[] ge

java中读取特殊文件的类型

java中读取特殊文件的类型: 第一种方法(字符拼接读取): public static String getType(String s){ String s1=s.substring(s.indexOf(".")+1,s.length()); if(s1.indexOf(".")>0){ s1=getTypeName(s1); } else{ return s1; } return s1;} 第二种方法(利用java中自带的格式库): new Mimetyp

常用EXE文件反编译工具

PE Explorer V1.99 R5 绿色汉化特别版_强大的可视化汉化集成工具 功能极为强大的可视化汉化集成工具,可直接浏览.修改软件资源,包括菜单.对话框.字符串表等: 另外,还具备有 W32DASM 软件的反编译能力和PEditor 软件的 PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理 PE 格式的文件如:EXE.DLL.DRV.BPL.DPL.SYS.CPL.OCX.SCR 等 32 位可执行程序. 该软件支持插件,你可以通过增加插件加强该软件的功能, 原公

关于APK文件反编译方法(图文详解)

今天晚上利用个把小时,终于把apk反编译彻底弄明白了,现在详细讲解一下apk反编译的具体过程. 1.下载三个工具 APK Multi-Tool    作用:获取apk的配置资源文件 dex2jar-0.0.9.15  作用:将apk反编译成java源码(classes.dex转化成jar文件) jd-gui 作用:打开上面生成的jar文件(把.apk文件改成.zip或者.rar文件后,用压缩文件打开只能看到大量的.java文件,此时就可以利用此工具打开,就可以看到源代码已经所用到的库文件) [三

[转]结合HierarchyViewer和APK文件反编译获得APP元素id值

背景: 最近在使用Robotium进行Android自动化测试.遇到了一个问题:我需要获得一个View的id(int型数值).此前我在http://maider.blog.sohu.com/255448342.html和http://maider.blog.sohu.com/255485243.html两篇文章中讲述了如何打开手机上的View Server来使用HierarchyViewer.HierarchyViewer对查看UI组件固然有帮助,但要想获取一个元素的id还是不行的.请看下图: