jad 命令行批量反编译

dir得到目录结构如下:
2008-03-12  19:15    <DIR>          .
2008-03-12  19:15    <DIR>          ..
2008-02-28  19:31                49 build.props
2008-02-28  19:31    <DIR>          grobot
2006-07-02  15:12           495,616 jad.exe
2008-02-28  19:31    <DIR>          META-INF
2008-02-28  19:31    <DIR>          org
2008-03-12  19:15    <DIR>          src
               2 File(s)        495,665 bytes
               6 Dir(s)  10,858,946,560 bytes free

比如需求是要把org文件夹下及其子文件夹下所有的class文件反编译后放到src目录中,并保持package原始结构
命令这样:
jad -r -dsrc -sjava "org/**/*.class"

-r表示保持原始package结构
-dsrc表示output目录为当前的src目录
-sjava表示反编译后的后缀为.java

同理,如果要反编译所有grobot目录下的class文件的话,就要写成
jad -r -dsrc -sjava "grobot/**/*.class"

PS:
MS官方的 CMD HERE插件
http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

 

jad支持所有内部和匿名的类

4.命令行选择的列表
-a - 用JVM字节格式来注解输出
-af - 同 -a,但是注解的时候用全名称
-clear - 清除所有的前缀
-b - 输出多于的括号 (e.g., if(a) { b(); }, default: no)
-d <dir> - 指定输出文件的文件目录
-dead -试图反编译代码的dead 部分(default: no)
-disass - 不用用字节码的方式反编译 (no JAVA source generated)
-f - 输出整个的名字,无论是类还是方法
-ff -输出类的成员在方法之前 (default: after methods)
-i - 输出所有的变量的缺省的最初值
-l<num> - 将strings分割成指定数目的块的字符 (default: no)
-lnc - 将输出文件用行号来注解 (default: no)
-nl - 分割strings用新行字符 newline character (default: no)
-nodos -不要去检查class文件是否以dos方式写 (CR before NL, default: check)
-nocast - 不要生成辅助文件
-nocode -不要生成方法的源代码
-noconv - 不要转换java的定义符 (default: do)
-noctor - 不允许空的构造器存在
-noinner ?关掉对内部类的支持 (default: turn on)
-nolvt - 忽略局部变量的表信息
-nonlb - 不要输出一个新行在打开一个括号之前 (default: do)
-o - 无需确认直接覆盖输出 (default: no)
-p - 发送反编译代码到标准输出 STDOUT (e.g., for piping)
-pi<num> -在<num> 的导入之后将其他引用包裹成一行导入 (default: 3)
-pv<num> -将同类型的成员包裹成一行 (default: no)
-pa <pfx>- 在生成源代码时将所有的包加前缀
-pc <pfx>- 用数字名字给所有的类加前缀 (default: _cls)
-pf <pfx>- 用数字名字给所有的成员变量加前缀 (default: _fld)
-pe <pfx>-给没有用到的异常的名字加前缀
-pl <pfx>- 给局部变量用数字名字加前缀 (default: _lcl)
-pm <pfx>-给方法用数字名字加前缀 (default: _mth)
-pp <pfx>- 给方法的参数用数字名字加前缀 (default: _prm)
-r - 恢复包的目录结构
-s <ext> - 指定输出文件的类型 (by default '.jad')
-space -遇到关键字(if/for/while/etc)输出空格和表达式 (default: off)
-stat - 显示所有的类,方法,成员变量的总数
-t - 用tabs代替空格对于边缘
-t<num> -用 <num>个的空格 (default: 4)
-v - 正在反编译的时候 显示方法的名字
-8 - 将 UNICODE strings 转换成 8-bit strings
用当前的 ANSI 码页 (Win32 only)
-& - 重新定向 STDERR to STDOUT (Win32 only)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值