❶ 请教高手:java 反编工具 Decafe 有些CLASS文件无法反编
1,也许人家编程的时候设计了反编译炸弹 就是在代码中写些废代码使你的反编译工具死循环或者痴呆。
2,人家用了比较好的混淆器,或者自己做的混淆器,也达到了2的效果。
3,可能和版本有关
这个我没遇到过 不过据说用jdk高版本编出来的class反编译有问题
反编译工具我通常用jad和jode 后者很久没新版本了 至少2周前我还没看到有新的
现在很多反编译工具都用jad作为核心
我目前用的dj java decompiler 不错 我试过在代码中放一些逻辑炸弹,用dj也可以反编译 并且效果还不错。
不过只要用比较好的混淆器混淆过 没有什么反编译工具能够完全的破开,还要加不少的手动修改 挺麻烦的
❷ 如何将java中的.class文件反编译
打开下载好的DJ_java_discompiler
选择file,之后点击open。之后出现以下界面。这里我选择一个test.class文件。
如果以后想看.class文件的源码,可以用这种方式查看。
❸ 怎么反编译java的class文件
工具:
DJ java discompiler.
方法:
打开DJ_java_discompiler,点左上角的file,选择open。
❹ java问题:为什么有些class文件反编译不了
private 的属性 方法不会被反编译出来的。
还有就是某些class是作者用自己的编译器编译的.你也反编译不出来
还有就是加密了.
❺ 如何将java中的.class文件反编译
一、反编译:下载一个jad
反编译哗卜工具jad简单用法
以下假设jad.exe在c:/java目录下
一、基本用法
Usage: jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:/java/>jad example1.class
c:/java/>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源
文件。
二、Option -o
不提示,覆盖源文件
三、Option -s
c:/java/>jad -sjava example1.class
反编译结果以.java为扩展名。
四、Option -p
将反编译结果输出到屏幕
c:/java/>jad -p example1.class
将反编译结果重定向到文件
c:/java/>jad -p example1.class>example1.java
五、Option -d
指定反编译的输出文件目录
c:/java/>jad -o -dtest -sjava *.class
二:修改、再编译
用Eclipse新建工程,再将反编译出的Java文件按原样导入工程,就可以修改代码。修改并调试后胡者,点击Eclipse菜单中的文件→导出→Java→可运行的JAR文件裤芦薯,选择配置工程和导出路径,然后点完成即可导出。
❻ 如何将java中的.class文件反编译
安装Java jdk后
看安装目录里有没有jad.exe,没有要下载,一般都有的
配置Java环境变量
开始-运行-cmd-回车-进入命令行窗口:
cd+空格+class文件所在路径:
按下面的命令进行反编译:
例如:[2] jad -sjava example.class 回车
在目录里可以看到example.java源文件
[1] 反编译一个class文件:jad example.class,会生成example.jad,用文本编辑器打开就是java源代码
[2] 指定生成源代码的后缀名:jad -sjava example.class,生成example.java
[3] 改变生成的源代码的名称,可以先使用-p将反编译后的源代码输出到控制台窗口,然后使用重定向,输出到文件:jad -p example.class > myexample.java
[4] 把源代码文件输出到指定的目录:jad -dnewdir -sjava example.class,在newdir目录下生成example.java
[5] 把packages目录下的class文件全部反编译:jad -sjava packages/*.class
[6] 把packages目录以及子目录下的文件全部反编译:jad -sjava packages/**/*.class,不过你仍然会发现所有的源代码文件被放到了同一个文件中,没有按照class文件的包路径建立起路径
[7] 把packages目录以及子目录下的文件全部反编译并建立和java包一致的文件夹路径,可以使用-r命令:jad -r -sjava packages/**/*.class
[8] 当重复使用命令反编译时,Jad会提示“whether you want to overwrite it or not”,使用-o可以强制覆盖旧文件
[9] 还有其他的参数可以设置生成的源代码的格式,可以输入jad命令查看帮助,这里有个人做了简单的翻译:jad命令总结
[10] 当然,你会发现有些源文件头部有些注释信息,不用找了,jad没有参数可以去掉它,用别的办法吧。
❼ 如何将java中的.class文件反编译
反编译工具:
1、JD-GUI
JD-GUI 是显示java 源代码 *.class文件的 图形界面工具。可以在这里下载:JD-GUI-DownLoad
下载下来后,打开该工具,直接将jar包 拖拽到 显示窗口即可查看源代码。
2、JD-Eclipse
(1)下载 JD-Eclipse 插件。下载后,打开Eclipse,选择:Help-->Install New Software...-->add --archive... 按步骤操作即可:
安装后,重启Eclipse,应该可以查看 *.class文件的代码。
ADD and Archive...
3、JD-IntelliJ
JD-Intellij 是 IntelliJ IDEA 的插件,安装了这个插件,可以方便查看 jar包源码。下载JD-Intellij
以Android studio为例: 可以离线安装也可以在线安装。
❽ java如何降低class版本
使用低版本的jdk编译,然后再运行,就相当于降低class版本