利用Packer对JavaScript进行加密(压缩),解密(解压)

有人将Packer称为JavaScript的加密工具(混淆工具),也有人将其称为压缩工具。不管怎么说,Packer实质上是一个编码工具,不过经过它编码后可以被浏览器直接识别。使用也非常简单,在“Encoding”选项中,有四个项目可以选择:None:简单压缩,移除空格和注释,编码特殊字符
Numeric:所有的字符都被编码成数字
Normal  :所有的字符都被编码成字母与数字符号构成的值。这是推荐的方式。
High ASCII:这种方式的压缩率较高。不推荐,会有兼容性


 

Fast Decode(快速还原):该选项被选中的话,将插入一小段代码(120 bytes),以使代码能够更快的还原(decode)

Special Characters(特殊字符):为了让压缩能区分全局变量和局部变量,压缩工具会将变量转换成下面的格式,由于 Javascript 并不存在确切意义上的全局变量和局部变量,我们可以用下面的方式定义:

局部变量 Local ($)
变量只在当前范围内有效,参数和函数内部的变量就是一个典型例子,将局部变量用 $ 标识,压缩时会截取他们的第一个字符,附加的 $ 将使截取的字符加长,数字将会被保留。

// unpacked:
function test($left, $top1, $top2, $$length) {
// do something
};
// packed:
function test(l,t1,t2,le){};

全局变量 Private (_)
全局变量可以在整个代码中使用,用 “ _ ” (下划线)来标识,有下划线标识的全局变量将会被转换成下划线加上一个数字:

// unpacked:
var _CONSTANT = 42;
function _test($left, $top1, $top2, $$length) {
return ($top1 / $top2) + _CONSTANT;
};
// packed:
var _0=42;function _1(l,t1,t2,le){return(t1/t2)+_0};
JavaScrip可以直接通过http://blog.minidx.com/ext/demo.html执行(我自己为了方便起见放的)。
最新版本可以访问:http://dean.edwards.name/packer/,还包括.NET, perl and PHP版本。

转载于:https://www.cnblogs.com/xiongrx/archive/2011/12/16/5514528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值