java反编译代码丢失 java反编译命令用法

class反编译会丢失或者改变么,会和源java文件有区别么

如果是简单的JAVA代码或者没有经过混淆编译的代码就会使一样或者差不多的。但是一下两种情况就特别不一样:经过混淆编译的 使用内部类的 另外,所有的注释都是没有的。

成都创新互联一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以成都做网站、成都网站建设、成都外贸网站建设、移动互联产品、成都全网营销服务为核心业务。10年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。

是的,.class 文件可以反编译成.java文件,在网上就。

编译过的是class文件。源码是java文件。class文件是不能修改的。java文件可以修改。class文件可以通过反编译工具看到他的java代码。但是还是不能修改的。也不能变成java文件吧。

Java类的编译与反编译 我们在最初学习Java的时候,会接触到两个命令:javac和java,那个时候我们就知道,javac是用来编译Java类的,就是将我们写好的helloworld.java文件编译成helloworld.class文件。

进行修改,改完再编译。至于在命令提示符下操作不记得有没有,但你可以查下关于反编译工具Xjad的相关使用方法,因为在eclipse中查看.class文件需要在jdk的bin目录中添加一个jad.exe的程序。

Java反编译后得到的不是Java源代码。

是的,.class 文件可以反编译成.java文件,在网上就。

如果是java写的,它被编译成字节码,但不是真正的机器语言,如果反编译的话,就可以把java源代码反编译出来,c#跟java如出一辙,原理上是很相近的,所以它的程序也可以反编译出源代码。

不是每个反编译都能完美的,用eclipse规范下代码,然后不符合的语法的方法,自己换成适合当前jdk版本支持的就可以了,反编译还是得花力气在代码的上,偷懒有限啊。

这样做是行不通的。反编译一般是不能完全得到源Java代码的,得到的代码甚至会有语法错误,除非是简单的那些代码。要改的话就得改.class文件,但这个非常困难,要在16进制下改。

你说的java源代码是指编译成的class文件前的java文件。

Java有源代码加密的,就算有反编译工具也无法发编译,或者反编译出来是乱码,如果你不加密那确实是送人。

防止JAVA代码被反编译的方法

无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。

java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。

如果只是为了使用和发布方便,不需要保护java代码,使用这些工具是很好的选择。

1 关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。

很久前做过一个项目,用很复杂的算法加密 class文件,然后在虚拟机载入前调用解密程序。用的是 jvmti。这样可以防止class loader被反编译导致加解密算法泄漏,应该算比较好的一种解决方案了。

从理论上来说,如果有足够的时间,被混淆的代码仍然可能被破解,甚至目前有些人正在研制反混淆的工具。但是从实际情况来看,由于混淆技术的多元化发展,混淆理论的成熟,经过混淆的Java代码还是能够很好地防止反编译。


名称栏目:java反编译代码丢失 java反编译命令用法
文章来源:http://hbruida.cn/article/dsossej.html