对于第一种方法来说,现在外面有很多开源工具可以使用,个人认为最好用的当属proguard莫属。proguard主要是易用易学。而且提供的功能也挺多。下面是个人一点使用心得
(1)、从网上download proguard工具,proguard工具主要包含是几个jar文件和一些example,
(2)、将里面的几个jar文件添加到类路径下面。当然,也可以不添加,但是下面在做混淆的时候,必须指定classpath,使在做混淆的过程中,能否访问该类
(3)、编写一个配置文件,主要是混淆器的一些参数。比如,下面是一个例子
-injars platform.jar
-outjars platform_out.jar
-libraryjars <java.home>/lib/rt.jar
-libraryjars ibatis-common-2.jar
-libraryjars ibatis-dao-2.jar
-libraryjars ibatis-sqlmap-2.jar
-libraryjars junit-3.8.1.jar
-libraryjars d:/j2ee.jar
-libraryjars struts.jar
-libraryjars commons-lang.jar
-libraryjars D:/0working/coreproject/byislib/jasperreports-0.6.1.jar
-libraryjars commons-beanutils.jar
-printmapping proguard.map
-overloadaggressively
-defaultpackage ''
-allowaccessmodification
-dontoptimize
-keep public class *
{
public protected *
}
-keep public class org.**
-keep public class it.**
各个参数的含义参考proguard文档,该文档非常详细,上手很容易
OK,到此就完成了代码混淆,打开产生的jar包可以看到,多了好多a、b、c之类的类文件。说明混淆结果已经成功。将原jar删除、运行产生的混淆jar包,一切正常!
混淆是故意制造混淆代码的行为,即让人难以理解的源代码或机器码。它类似于加密,但机器能够理解代码并能够执行:它。混淆可以用来隐藏来自外部世界的业务逻辑,它将大大减少文件的大小,因此服务器和客户机之间的数据传输速度会很快。
缩小化也是一种混淆,在这里清空空空间,并重新命名变量。
在JavaScript中,浏览器不能执行加密的代码,而浏览器会执行混淆代码。
加密的代码总是需要解密才能被执行。
混淆的代码不需要去混淆来执行。
总之,混淆JavaScript代码很好。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)