先javac hello.java
后java hello
㈡ 如何反编译class文件,简单快速
1
在网络上搜索关键词“jd-gui”,点击进入jd-gui的官方网站。
2
(1)点击“JD-GUI”链接
(2)点击“Download”链接
(3)点击选择您要下载的版本,如果为windows系统请选择"xxx.windows.zip",如果为苹果或linux系统则选择其他的下载链接。
3
(1)下载后进行解压
(2)双击“jd-gui.exe”文件
4
(1)找到您要反编译的class文件。
(2)用鼠标拖拽到jd-gui软件的灰色区域。
5
此时可以看到,class文件被反编译为了java文件,并且代码格式很好。
6
在右侧可以看到java的包层级,类,方法等等,十分方便。
㈢ JAVA学习时候,用JAD反编译 class文件时候报错,求教
文件目录不能有空格,E:\java和workspace\之间不能有空格.
㈣ 我用jd-gui反编译class文件,通过javac编译,提示错误: 编码GBK的不可映射字符
运行控制台,程序->运行,输入CMD,点击确定进入DOS操作系统 快捷键windows键+R键
编写需要运行的java代码!
/**
*@authorjava
*@version创建时间:2014-11-7下午2:31:53
*类说明
*/
publicclasshelloword{
publicstaticvoidmain(String[]args){
System.out.println("hello中文字符,,,中文字符word");
System.out.println("hello中文字符,,,中文字符word");
System.out.println("hello中文字符,,,中文字符word");
System.out.println("hello中文字符,,,中文字符word");
System.out.println("hello中文字符,,,中文字符word");
System.out.println("hello中文字符,,,中文字符word");
System.out.println("hello中文字符,,,中文字符word");
System.out.println("hello中文字符,,,中文字符word");
System.out.println("hello中文字符,,,中文字符word");
}
}
3. 切换运行目录到您存放java代码的目录!使用命令 cd 切换
4. 常规执行命令javac helloword.java,出现如下错误!
5. 解决错误提示:编码 GBK 的不可映射字符,使用命令:javac -encoding utf-8 helloword.java,编译成功
6. 成功编译后,在tmp目录下能看到helloword.java文件编译后的.class字节码文件
7. 使用命令【java helloword】,运行java程序
㈤ 请教高手:java 反编工具 Decafe 有些CLASS文件无法反编
1,也许人家编程的时候设计了反编译炸弹 就是在代码中写些废代码使你的反编译工具死循环或者痴呆。
2,人家用了比较好的混淆器,或者自己做的混淆器,也达到了2的效果。
3,可能和版本有关
这个我没遇到过 不过据说用jdk高版本编出来的class反编译有问题
反编译工具我通常用jad和jode 后者很久没新版本了 至少2周前我还没看到有新的
现在很多反编译工具都用jad作为核心
我目前用的dj java decompiler 不错 我试过在代码中放一些逻辑炸弹,用dj也可以反编译 并且效果还不错。
不过只要用比较好的混淆器混淆过 没有什么反编译工具能够完全的破开,还要加不少的手动修改 挺麻烦的
㈥ 我把一个class文件反编译成java文件后再反编译回去,提示错误!
反编译后的java文件引用了你现在编译环境中没有的包,而这些包是原作者在开发的时候专用配置好的,所以你编译的时候 某些import就会报错了
㈦ 怎么反编译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文件反编译不了
private 的属性 方法不会被反编译出来的。
还有就是某些class是作者用自己的编译器编译的.你也反编译不出来
还有就是加密了.
㈨ 我使用CLASS反汇编生成的JAVA文件重新进行编译生成JAVA文件提示出错是为什么呢
并不是所有的class都能反汇编成java文件的,尤其是那些经过obfuscation(代码混淆)的class文件,混淆器故意生成很难或者根本不可能被反汇编的程序。比如class文件中可以用java关键词作名字的变量,反汇编出来的当然就不行了,这只是混淆技术之一,有些混淆技术相当难破。
另外,反汇编出来的程序质量跟反汇编程序也很有关系,jd-gui不错,但也不是通吃的。
㈩ 从 CLASS反编译过来的JAVA文件,再编译的时候报错如下: 其他都没变,只改了URL地址
没有完全反编译,凡是提示没有找到的类你要根据当前报错的提示即包目录去把依赖的class都反编译过来,然后试试肯定可以的