前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

Java反编译器的比较心得 - Jy - 歪酷 YCOOL.COM 歪酷 YCOOL 免费注册登录 Java反编译器的比较心得 Java的反编译器很多,不过总感觉各有各的优点和缺陷,陆陆续续地换来换去,也算有点心得,写出来供大家参考。 反编译Java类 v1.2beta(build 0612),作者starlyq@371.net 这个是我见到的最早的一个国人写的反编译器,中文界面。当时也有很多其他反编译器存在,但都需要java虚拟机支持,无论安装还是使用上都很不方便。这个工具只有一个exe文件,绿色安装,而且支持批处理多个文件,反编译出来的文件扩展名直接是.java,快速高效而小巧。 这个工具还有一个好处,就是把很多常量的引用直接写成了值,比较一目了然。比如: public static int a=123; ... { int k=a+1; } 会翻译成: public static int a=123; ... { int k=123+1; } 尤其是对某些char或者byte类型的变量,还会在后面添加相应的ASCII注释,以便对照。 可惜这个软件不会自动将unicode翻译成中文,也许是为了避免翻译时的转译错误,但看起来非常不方便。 另外,对于try{...}catch的结构,这个软件有时候会反编译得乱七八糟。 反编译文件的命名是按照类的class文件名称输出的,比如A.class的实际类名是B.class的话,会输出A.java。 这个软件附带的通讯地址也失效了,无法和作者联系。 JODE v1.1.2 这个软件可是大大的有名。因为这是个开源软件。用java实现的,以jar包方式发放。用的时候有命令行和UI两种方式。基本功能具备了,但对批处理支持不好,而且对自动输出成文件也支持不好。我用了几次就放弃了。 DJ Java Decompiler V3.7.7.81 目前正在用。功能非常多,界面也复杂,不过还好上手。支持批处理和unicode自动转换,还可以选择是把变量声明放在类定义的前面还是后面。 这个软件会把一些成员变量命名为X_java_lang_XXX_fld这种格式,比较有助于对混淆之后的代码进行分析,以区别其他的a,b,c,d或者oo00,00oooo等等这种成员变量。 对于try{...}catch的结构,反编译得也不是完全正确,经常出现MISSING_BLOCK_LABEL_XXX。 再有,如果碰到类的大小写重名的时候,比如A.class和a.class,输出文件不会自动命名,结果会造成相互覆盖。即使把A.class改成_A.class,也仍然会按照类的实际名称输出,即A.jad。 反编译的内核用的JAD。 小颖JAVA源代码反编译超级引擎 V1.4 标准版 这个软件我用了一次就删了。虽然名称很吓人,但实际上只是个JAD的壳。没有批量处理和文件自动输出,基本上没使用价值。 JADE 不用说了,sun公司自己出的反编译器,不需要java虚拟机支持,但super难用,效果也不好。不然也就不会有其他的反编译器出现了。 Jy 2005-07-13 12:57 1448 浏览 0 评论 标签 程序员 分享 评论前请先 登录/注册