摘要: 提到Java代码加密,常见方式是使用代码混淆工具,如proguard。混淆是一种逻辑层面的加密,被混淆的代码仍可以反编译,但由于命名与程序流程上的等效替换,使得程序的可读性变的很差,导致代码难以被理解和盗用。但若有方法使代码根本无法被反编译,效果显然优于逻辑上的加密,而一种可以实现的方式就是字节码加密。Java代码的实际运行与源代码(*.java)关系不大,只依赖于编译后的字节码文件(*.class)。class文件的内容有非常紧凑和严格的约定,使JVM可以识别和执行代码功能;反编译工具也是利用这种约定的结构将字节码反向解析成源码。只要破坏class文件的结构,就能使这个文件完全失效,变得不可 阅读全文
posted @ 2013-01-28 10:21 编程趋势 阅读(10054) 评论(9) 推荐(5) 编辑