
正文
反编译后java代码问题,java反编译器
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java反编译的代码可以用吗
1、反编译得出的代码,是JAVA文件在生成CLASS文件时,做过优化的代码。所以跟你的原文件不一样(比如:注释全没有,中文全变成Unicode码,字符串连接全部用StringBuffer类来代替,自动增加else语句等等)。
2、一般反编译了使用javac编译,再用java就可以运行了,如果使用了混淆技术,javac是无法编译的,需要修改,比较麻烦了。
3、而Javaclass文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。
相关问答
Q1: java的class文件,经过反编译以后获得的源代码是L(小写),1,i(大写...
1、我们只有一个类的class文件,但是我们又看不懂Java的class文件,那么我们可以把它反编译成我们可以看得懂的文件。
2、JAVA_HOME:C:\Program Files\Java\jdk0_14 path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 设置classpath环境变量 classpath环境变量的作用:让Java执行环境找到指定的java程序(.class文件)。
3、Java号称是一门“一次编译到处运行”的语言,从我们写的java文件到通过编译器编译成java字节码文件(.class文件),这个过程是java编译过程;而我们的java虚拟机执行的就是字节码文件。
Q2: 防止JAVA代码被反编译的方法
java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。
针对代码反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
Q3: 反编译出来的java文件有错误,请问怎么改?
1、可以将看不懂的.class文件转换成看得懂的.java文件,这样一来就能很方便的读懂别人编写的java代码。
2、没办法完全反编译所以的class文件为java文件的,因为java中编译具有不可逆性。但是可以将每个文件反编译,之后直接放到相应的包路径下来进行重新编码。
3、可以在数据盘(如D: E:等等)上建立相应的文件夹。比如,java源代码可以保存在d:\JavaSpace\文件夹下,电子书保存在:D:\EBook\文件夹下,图片保存在:E:\Pictures\文件夹下,诸如此类,等等等等。
4、首先去官方网站点击下载可用的最新ApkTool。在上一步的弹出窗口中点击截图红圈处的位置进行下载,由于是国外服务器点击后可能出现没反应情况,稍作等待即可。
Q4: 为什么将class反编译为java后,java直接编译时有错误
并不是所有的class都能反汇编成java文件的,尤其是那些经过obfuscation(代码混淆)的class文件,混淆器故意生成很难或者根本不可能被反汇编的程序。
能够编译并运行,说明肯定生成了class文件。
我偶尔用过这个工具 你单独反编译一个文件是不行的,因为这个文件里的类类可能继承自其它类,或者它引用了其它包的类。在编译时就会出错,故无法变成class文件。你可以尝试把整个jar进行反编译,然后尝试对其进行编译。
一般情况下Java应用的开发者为了保护代码不被别人抄袭,在生成class文件的时候都java文件进行了混淆,这种class文件用反编译工具得到的结果很难看懂,并且不能进行编译。本文从研究的角度,浅析如何读懂这种反编译过来的文件。
关于反编译后java代码问题和java反编译器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







