学习
实践
活动
工具
TVP
写文章

江湖秘笈:逆向工程反编译工具篇之JAD用法浅解 想要玩好JAVA反编译工作先学习JAD用法

关注蓝字 看点网络安全

Hello,亲爱的看官们,大家晚上好,今天是周六,一个看似不错,但却充满了无奈的天气,特别是远在外面的2 cats大侠听说北京今天又污染了,心里真的有些五味杂陈啊。

原本晴空万里,蓝天白云的日子难道就这么随着五一假期刚过而消失了吗?还是说近期由于工程项目类工作比较多,土地经过开春后阳光和雨水的滋润慢慢变得松软导致呢?

目前具体原因不得而知,可是有一点非常肯定,那就是污染非常严重,各位出门时一定要记得戴口罩,不然很容易吸入不健康的颗粒物而导致呼吸道疾病出现。

好啦,说过每日开篇的小闲话之后,赶快进入到我们的技术分享环节来。

依靠命令行来进行反编译的工具

今天我们将继续分享有关逆向工程方面的技术知识。

Java作为开发语言中相对成熟的语种,无论是Web开发还是图形界面开发,都较之微软的C#语言好很多。

Java的克星

也正是因为如此,在经过二十多年的发展后,Java不仅保持着开发语言界佼佼者身份外,还成为逆向工程中最先被照顾的目标。从而诞生了专门进行反编译Java所开发的应用或Web。这款工具的名字叫做JAD,一个依靠命令行来进行反编译的工具。

JAD介绍

JAD最大的优势在于可以将二进制字节码文件(Class文件)转换成Java源文件使用,另外后来市面中很多注明的逆向工程工具也都是使用了JAD为核心引擎。

虽说JAD早期不存在图形界面,不过后来很多开发者在原有内核的基础上进行扩展工作,于是便有了我们今天所能看到的JAD图形界面工具。

工具演示

现在,我们来一起看下JAD的一些相关命令参数及功能描述。

1

命令:jad –h

反馈:

Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov (kpdus@yahoo.com).

反馈:

Usage: jad [option(s)]

说明:

Options:

-a 生成JVM指令作为注释

-af 在注释时输出完全限定的名称

-b 生成冗余支持(括号)

-clear 清除所有前缀,包括默认前缀

-d 输出文件目录

-dead 尝试反编译代码死亡的部分(如果它们存在)

-dis 反汇编指令(逆向编译)

-f 生成完全合格的名称(首次出现时请给出全称)

-ff 在输出领域的地方(fieldsfirst)

-i 字段打印默认初始化(定义)

-l 拆分字符串到最大字符快(splitstr)

-lnc 输出原来的行号(LNC)评论

-lradix使用指定基数显示长整数

-nl 分割字符串的换行符(noconv)

-noconv 不转换为有效的java标识符(noconv)

-nocast 不生成辅助铸件

-noclass 不要转换类操作符

-nocode 不要生成方法的源代码

-noctor 抑制空构造函数

-nodos 关闭在DOS模式下编写的类文件的检查

-nofd 不消除歧义字段具有相同的名称(nofldis)

-noinner 关闭内部类的支持

-nolvt 忽略局部变量表条目(nolvt)

-nonlb 插入一个换行符之前不开括号(nonlb)

-o 无确认地覆盖输出文件

-p 将所有输出到标准输出设备(管道)

-pa

生成源文件中所有包的前缀

-pc

对于数值名称类前缀(默认:_cls)

-pe

未使用的异常名前缀(默认:_ex)

-pf

对于数值名称字段重新(默认:_fld)

-pi 装进口成一行使用。*(packimports)

-pl

与当地人数值名称前缀(默认:_lcl)

-pm

用树枝方法(默认名称前缀:_mth)

-pp

方法参数数值名称前缀(默认:_prm)

-pv 包装领域的同类型成一行(packfields)

-r 恢复包目录结构

-radix 使用指定基数(8、10或16)显示整数

-s 输出文件扩展名(默认:.jad)

-safe 产生额外的转换来消除方法/领域

-space 关键字(如果,当,等)和表达式之间的输出空间

-t 缩进使用空格(默认:4)

-t 使用制表符代替空格缩进

-v 显示方法名而反编译

好啦,JAD工具相关的参数及解释说明已经给各位看官们罗列出来啦,具体用法方便各位看官们可以通过使用和练习进行熟悉。

2

现在再来看下JAD的用法示例:

好啦,今天的分享就到这里,请各位喜欢JAD的看官们多多尝试哦。

2cats 寄语

老规矩不变,

如果有任何问题依旧可以发给e品小顽童。

小顽童的邮箱是:

xiaowantong@epinjianghu.com。

也可以在微信公众号的下方留言,我们会及时整理反馈的。

期待各位的来信交流!

另外,大家可以扫描下面的二维码,加我2cats的个人微信哈!

e品江湖

不失初心 不忘初衷

长按扫码 加关注!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505G1AOBN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券