新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、反编译的程序,不能保证100%的正确的,所以你再编译,很明显问题出来了。有些地方应该还要手动修改一下。
创新互联是一家集网站建设,漳平企业网站建设,漳平品牌网站建设,网站定制,漳平网站建设报价,网络营销,网络优化,漳平网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
2、并不是所有的class都能反汇编成java文件的,尤其是那些经过obfuscation(代码混淆)的class文件,混淆器故意生成很难或者根本不可能被反汇编的程序。
3、反编译出来的东西,有时候就是这样的。建议你换个反编译软件试试。
4、class文件时,里面的注释会全部删除,定义的常量,会以最张代表的那个具体的值代替,有时for循环,甚至会变个样子,所以,反编译过来,这些地方都不会变成最先.java文件里面的样子。所以,再重新编译肯定是行不通的。
5、java程序的错误可以抽象分为三类:语法错误、运行错误和逻辑错误。语法错误 是指由于编程中输入不符合语法规则而产生的。程序编译就通不过,程序不能运行起来。
并不是所有的class都能反汇编成java文件的,尤其是那些经过obfuscation(代码混淆)的class文件,混淆器故意生成很难或者根本不可能被反汇编的程序。
一般是:java + class文件名;例如:A.java 编译后生成A.class文件。则命令为:java A 如果这样都不行,可能是你所运行的class文件不在你现在所访问的路径下。
能够编译并运行,说明肯定生成了class文件。
Java源码文件这些文件可以是任意字符编码的,在Java的Class文件里存储的字符串是UTF-8编码的,所以如果在代码中有中文字符的话,就会导致乱码。当然,这只是众多原因中的一种,所以把编码设置统一是避免出现乱码的解决办法。
c:/java/jad exampleclass c:/java/jad *.class 结果是将exampleclass反编译为examplejad。将examplejad改为examplejava即得源 文件。
比如class文件中可以用java关键词作名字的变量,反汇编出来的当然就不行了,这只是混淆技术之一,有些混淆技术相当难破。另外,反汇编出来的程序质量跟反汇编程序也很有关系,jd-gui不错,但也不是通吃的。
不是每个反编译都能完美的,用eclipse规范下代码,然后不符合的语法的方法,自己换成适合当前jdk版本支持的就可以了,反编译还是得花力气在代码的上,偷懒有限啊。
try { raf = new RandomAccessFile(config.getTp(),rw);raf.setLength(config.getFileSize());} finally { if (raf != null)raf.close();} } 应该是这样吧,以前遇到过,你的反编译程序太水了,建议换个。
class文件时,里面的注释会全部删除,定义的常量,会以最张代表的那个具体的值代替,有时for循环,甚至会变个样子,所以,反编译过来,这些地方都不会变成最先.java文件里面的样子。所以,再重新编译肯定是行不通的。