
JS混淆加密:变量赋值Eval加密
先来看实现后的效果:

能看出这是一句赋值语句吗?
它混淆前的源码是:

即:a=2;这一句。
更准确的说是:

此图的效果是a=2;的第一重保护。
再经二重加密,会成为第一张图片所示效果。
二重的加密,会使赋值操作更为隐密。
实现方式是:

即,处理:AssignmentExpression,把整行语句的每个字符用fromCharCode函数转为数字。
再把赋值语句转为eval函数调用表达式,用于执行语句,使赋值操作正常完成。
执行效果如下:

对应源码可知,赋值成功。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。