关闭

利用jad破解.class文件

标签: 破解javaclass语言虚拟机tree
1596人阅读 评论(0) 收藏 举报
利用jad破解.class文件

初学任何一门语言,多看看源代码是成为高手的捷径.

有时候高手们兴许会把源码公布出来,可是大多数情况是没有现成的.java源文件给你看的.面对.class文件,新手可能会狂晕了,别急!我这就教你怎样扒光.class文件的衣服,让.class文件"一丝不挂"的呈现在你眼前
准备工作:

STEP1:下载jad1.5.8e
       下载地址
http://www.kpdus.com/jad.html#download
       下载后解压。解压缩后将jad.exe拷贝到JRE的bin目录下,如/Java/jre1.5.0_06/bin

STEP2:配置好你系统的JAVA环境,也就是在PATH里添加你的JRE的路径什么的...(这个还不懂??上GOOGLE去所搜一下,大把大把的)

STEP3:打开命令行,将目录切换到你想要破解的.class文件的目录.例如:我想要破解一个名为example.class的文件,它在e:/workspaces/里,那我就输入cd e:/workspaces/让后回车.

开始"脱"啦!:
反编译单个JAVA语言的CLASS文件,在命令行输入:jad example.class回车.
让后在你当前目录会生成一个Example.jad的文件!把它的后缀改为java就可以阅读了!(你可以忽略.class后缀)

选项 -s<后缀>允许你更改输出文件的后缀.
jad -sjava example.class
这条命令生成文件'example.java'.当你同时使用选项-o和-sjava时要小心了,因为Jad会意外的覆盖掉你的源文件.

jad使用JAVA的CLASS文件名作为默认的输出文件名.举个例子,如果CLASS文件'example.class'包含了JAVA的CLASS'test'那么jad会优先生成'test.jad'.如果你想要指定一自己的输出文件名,请使用重定向:
jad -p example.class >myexm.java

选项-d允许你指定输出文件到另外一个文件夹,这个文件夹将默认创建在当前目录.举个例子:
jad -o -dtest -sjava *.class
(或者jad -o -d test -s java *.class,两者是一样的)

这条命令反编译所有.class文件在当前目录并且放置所有输出文件在目录'test'以.java为后缀名.
如果你想反编译整个java类树,用如下命令:

jad -o -r -sjava -dsrc tree/**/*.class
这 条命令反编译所有.class文件位于'tree'以及子目录并且建立输出文件在'src'目录的相对子目录中依照类的包名.举个例子,如果文件 'tree/a/b/c.class'包含类'c'来自包'a.b',那么数车文件的名字是'src/a/b/c.java'.

万一你想要检查输出文件的精确度或者就是仅仅是好奇,这儿有个选项-a,它让jad使用JAVA虚拟机字节码作为注释添加在输出文件中.

jad支持内部类和匿名类,当jad把通配符搭配到输入的文件名时,它自动的跳过匹配的内部类.

在UNIX系统中jad跳过内部类如果有多于一个类在命令行中指定了.

jad下载地址(不一定稳定)

http://www5.upload2.net/file22/n9zDg/q7cKP6KBuDOAyhv/jad.exe

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:139391次
    • 积分:2243
    • 等级:
    • 排名:第16724名
    • 原创:78篇
    • 转载:39篇
    • 译文:0篇
    • 评论:25条
    设计模式