Dean Edwards的php packer没有重命名var和function

时间:2013-09-16 14:57:56

标签: javascript php jquery obfuscation minify

我实际上有一个我想保护的js代码,所以我使用了Nicolas Martin的院长爱德华的打包器:http://joliclic.free.fr/php/javascript-packer/en/index.php

它正确地缩小了我的代码,但它没有重命名var&函数名称(所以它不会混淆它)。

例如,网络缩小器返回:

(function(e){var t="#step1";var n="#step2";})

并且php packer返回此(如果我设置编码:无,我尝试了所有其他选项,没有更改)

(function($){var step1="#step1";var step2="#step2";

我很欣赏这个php打包器,因为它只是一个简短的php文件,我可以推送我的所有服务器或本地项目(在Wamp上)。

Closure编译器在本地项目上没有很好的工作(如果你想重命名,它会重命名ALL,所以看起来你不能将它用于库,比如jQuery),而其他需要使用Java或Python / Ruby 。如果可能,我想只使用php。

任何人都知道如何升级这个PHP打包器来做我想要的?我努力了,我努力了。

2 个答案:

答案 0 :(得分:0)

我找到了解决方案:

我支持 Closure Compiler ,我在这里找到了 PHP * 版本 *:https://code.google.com/p/php-closure/ 在本地计算机和服务器上都可以使用。

它在html中被称为。你调用php进程并给它你想要加密的js文件名,这里是 jquery-wa-custom-object 。你可以给其他js文件添加& otherjsname& othertwojsname

<!--  Load protected javascript -->
<script src="js/protected/?jquery-wa-custom-object"></script>

并返回包含所有加密js的文本字符串。

php-closure.php 中,我编辑它以重命名变量(但不是函数名,因为它在其他js文件中使用)

最后,它会给你一个完全缩小/混淆的js,任何人都无法理解(即使你“美化”它),因为所有的var都是不可理解的。

答案 1 :(得分:0)

  1. 有很多优秀的代码已经免费提供给你们,你确定人们会对“窃取你们”感兴趣吗?
  2. 您的代码中有多少是基于您从其他人那里学到的东西?所以付钱前进
  3. 即使是混淆代码也很容易进行反混淆。只需跟踪逻辑并重命名vars就可以了,而且理解javascript范围的好IDE可能会自动化其中的一部分。