java的反编译怎么使用,说具体点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的反编译怎么使用,说具体点?相关的知识,希望对你有一定的参考价值。

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

2.下载 jadclipse_3.1.0.jar
http://jaist.dl.sourceforge.net/sourceforge/jadclipse/jadclipse_3.1.0.jar
将jadclipse_3.1.0.jar复制到D:\Program Files\eclipse\myplugin\eclipse\plugins目录下(用的是

link方式安装插件的)。

3.启动Eclipse后,在Windows-->Perference-->Java下面应该会多出一个JadClipse目录,相关的设置可

以在此修改
配置jadclipse:设置path to decompiler为jad.exe的全路径,如:F:\Java\jre1.5.0_06\bin\jad.exe

,在Directory for temporary files中指定临时文件的路径,如:G:\Java\eclipse-SDK-3.0-win32\temp
4、在Eclipse的Windows-->Perference-->General->Editors->File Associations中修改“*.class”默

认关联的编辑器为“JadClipse Class File Viewer”
5、安装完成,双击class文件,Eclipse将自动反编译了。
参考技术A 说一些经验吧,最好多下载几个版本的反编译软件,因为反编译回来的东西不一定都是好用的,逻辑大体是对的,但是代码和原来的有差异,特别是trycatch()语句,特别容易出问题。
代码中还会加入一些例如labelxxxx(xx代表数字)字样的代码,删除就可以了,没有用,有的在这前面加break,要看逻辑,大多数是没有用的,可删除。
各个软件版本相互参照着使用会好一点。
参考技术B 下载一个反编译器工具,打开class就直接成了java文件了。 参考技术C 使用SDK提供的反编译器javap.exe可以将字节码反编译为源码。 参考技术D 网上有反编译软件。。。很实用的叫啥jad的

好教程的反例

 

[转载自]好教程的反例 https://www.yayaus.com/

 

 

我不知道怎么回事,好像国内写教程的绝大多数活跃用户都写的是些接近垃圾的东西,说好听点叫做无心之过,说难听点居心不良——他们就是在享受小白用户跪拜。

我尝试列举下他们的教程的缺点,算是给自己敲下警钟。


1 概念不清

通常这些教程,乃至一个知名论坛对某些特定主题(例如wii硬件破解)的置顶新手须知,都缺乏对基本概念的解释。一来就是大堆的教程,简直让人怀疑 他们都是从天外飞来的高人,虽然不知道他们到底在对什么谈笑风生。阅读这些教程的人,不仅不知道他们在说什么,还很可能误解些什么,胆小的都不敢下手了, 浪费很多时间的同时更败坏心情。

我们就是缺乏给出一个小册子的精神的样子。

2 逻辑混乱

一篇教程通常来说都有一个总体的逻辑的,整个教程都是总体逻辑的展开。它不仅能让人知道这是什么,还能知道为何如此,为何不如此,一步步的让人达成最终的目标。把基本的分析一番并不是要多详细的事情,但是据我的经验来看,那样的效果却好得出奇,我真的知道了我在干什么。

坏的教程却是相反,更干脆的还有教程A让人先读B,B要先读C,C要先读A。

3 详细程度乱套

我们弄有的东西是需要知晓很多具体的细节的,这时候的教程有总体的逻辑有详细的分析说明就比较好。坏的的教程就颠倒过来,需要理解的,他就仅仅告诉你怎样做而不说原由,不需要理解的,却给读者扯一大通,看得我都没话讲了。

4 条目混乱

这个东西的名字我并没有想好。我是想表达几种这样的情景:

一个教程所针对的对象,他有很多不同层面的东西,这些应当是至少有分开介绍的。比如说破解wii后的套路,至少也应该分开来,说明清楚吧。结果坏的教程,不同流派的方法全部混合到一起,根本不知道现在到底干了什么了。

另外一种是,明明只需要一个最好的就能说清楚的,他们却推荐些一知半解的,互相有冲突的 ,有区别的,莫名其妙的东西给用户读,结果是大家看得云里雾里。这点例如国内的远景黑苹果论坛。

还有一种,重复的。这有的是指一个东西明明一次就够了,他们却反复给出来浪费时间却不能弄出真正核心的东西(虽然重复也是掌握核心的一个方法,但我 不是指的此类)。另外一点其实是指的不少软件的说明书,你甚至能发现其中的手册介绍的东西竟然是重复的,但是你不知道其中的区别和用意,得到的是困惑。

5 不会告诉你从哪里来

我们很多的东西实际上并非这位写教程的实现的,但是他引用了非常多的内容,却不告诉你自己应当如何查找他们。结果,以后的人可能就成了亦步亦趋,不知举一反三的人,莫非那帮人就是这样给读者定位的?

6 不会告诉你哪里更好

如同商家不会告诉你他主推的商品谁买谁傻逼,论坛高人们通常也不会告诉你另外的论坛远远比这里好。

7 享乐倾向

这帮人手握核心却绝不将核心示人以后往往能得到两个奖励:别人对他的无比膜拜,他对别人的随意谩骂。

这帮人动不动就告诉别人“先读菜鸟帖”“自己去看XX”,实际上看了这些也是个笑话,真正的核心却不在那些内容中。有的人就特别喜欢如此,对他人不友善,追着不能明白核心的人咬,动不动就要上升到侮辱对方人格的地步。

我想这两种奖励就如同吸毒吧,他们离不开它们。


结局

观摩的人通常会有这样的感受——简单明确易用安全可靠都只是个笑话,只是传说中才会有的东西。

如果同一个主题同时有外国(英文区)和港台讨论区并且都有一些人气,通常它们就是要比中国这边的讨论区质量更高,希望将来能更好吧。

一篇好的教程,应该能具备以上坏处的反面,不过我的经验是,同时拥有多数错误比同时拥有多数优点容易多了。

以上是关于java的反编译怎么使用,说具体点?的主要内容,如果未能解决你的问题,请参考以下文章

exe的反编译工具哪个最好?我不太想要那种有梦娜丽莎头像那个的,要尽量不恶俗。不要介绍自己,不要

在cmd上执行关于java的反编译

使用Fernflower 比较准确的反编译整个java项目

Java 源代码被 Intellij 中的反编译文件替换

简单的反编译class文件并重新编译的方法

ReSharper反编译C#类库