
正文
java代码反编译风险,java反编译有什么用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
class文件能被反编译,java程序不就没有保密性了吗
1、所以有了“代码混淆”。在编译的时候将变量名、方法名、类名替换成无意义的字符串,添加无用代码等,反编译后也没人看得懂代码。
2、是的,.class 文件可以反编译成.java文件,在网上就。
3、反编译对安全构成的威胁是显而易见的,因此源码保护也就必不可少的。其实,反编译和代码保护是一场无停止斗争,双方都在争斗中得以发展。那么到目前为止,保护源码大致可以分为三类: 加密、模糊、和定制JAVA类装载器。
4、如果只是为了使用和发布方便,不需要保护java代码,使用这些工具是很好的选择。
5、特别复杂的代码(如加密算法)反编译一般都有问题。可以建议用 javap -c -p 来看字节码。然后参考jvm指令。一般编译的文件,都可以反编译为源码,但如果是经过加密、以及代码异常复杂,是很难恢复全部的源码。
6、呵呵 首先,java可以反编译,现在已经有反编译软件了,你已经用过了,就知道的确很强大。不过,java相对来说,还是安全的,现在似乎还有种反反编译,听说过,不了解。这些我们可以通过一些算法去加密之类的,比如md5这样的。
相关问答
Q1: 如何防止程序员反编译?
1、打破顺序是指打破程序的局部相关性。由于程序员往往倾向于把相关代码放在一起,通过打破顺序改变程序空间结构,将加大破解者的思维跳跃。
2、首先在介绍反编译器之前,要提及JDK自带的一个工具 [javap] ,它是一个Java代码反汇编器。然后其次是有一个sourceforge中开源的一个反编译器 Jode(http://jode.sourceforge.net/download.html) 下载。
3、第二种就是MAXTOCODE的保护技术了,MAXOTCODE 采用了难以理解的机器语言来加密您的.NET程序集,(特别注意:MAXTOCODE的强度建立在加密算法之上,而不上简单的混淆。
4、本人提供最新 MT4 指标 EA 加密服务有好的EA或是指标,想出售又怕被破解,现在有最新加密方法 1 关键代码写入DLL文件,就算ex4-to-mq4反编译,也得不到核心代码。
Q2: 如何防止JAVA程序源代码被反编译
1、针对代码反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
2、java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
3、我们通过反编译工具是可以还原出以上源代码的。而通过简单的分析,我们也能自己写出源代码的。
4、无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
5、关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。
6、首先在介绍反编译器之前,要提及JDK自带的一个工具 [javap] ,它是一个Java代码反汇编器。然后其次是有一个sourceforge中开源的一个反编译器 Jode(http://jode.sourceforge.net/download.html) 下载。
Q3: java语言编译出来的class文件很容易被反编译和破解,因此java语言其实并...
1、所以有了“代码混淆”。在编译的时候将变量名、方法名、类名替换成无意义的字符串,添加无用代码等,反编译后也没人看得懂代码。
2、二者区别在于:java文件是源程序,class文件是编译后的代码。关于源程序 未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。
3、字节码)文件,其扩展名为(.class)。解释:JVM(java虚拟机)可以将java文件编译为机器语言,是通过字节码的形式进行的存储,此字节码文件的扩展名就是class文件,此扩展类型文件可以被虚拟机所识别和进行执行。
4、java语言由于是基于jvm上面,所以反编译class文件很很容易。假如我们做了一个web程序,并把这个web程序发布给客户。实际上,客户是很容易反编译出我们的源代码出来,包括所有的src文件和jsp文件等等。
5、class不能修改,但可以通过反编译工具反编译后进行修改,然后在编译成class文件。
6、代码混淆是对Class文件进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能(语义)。但是混淆后的代码很难被反编译,即反编译后得出的代码是非常难懂、晦涩的,因此反编译人员很难得出程序的真正语义。
关于java代码反编译风险和java反编译有什么用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







