如何破解JS脚本加密

JavaScript05

如何破解JS脚本加密,第1张

在网页中加入一个,然后在加密代码中找document.write(),eval(),execScript()或VBS的EXECUTE语句,并用document.getElementById("textareaID").innerText=STR 替换。加密就不攻自破了。www.hrbfc120.com

(STR是转换好的字符串变量,如在加密代码中找到 document.write(s)就用 document.getElementById("textareaID").innerText=s替换)

所谓打包就是将多个js文件合并,压缩,为什么需要打包呢,因为js合并之后可以减少前端js引用js的数量和体积,数量少了js加载就相对快一些。为什么会说体积也减小了呢,因为现在流行的打包工具例如webpack在打包的过程中不只是简单的把多个js文件合并成一个文件这么简单,它还会多js进行压缩,例如去掉无效的空格,替换较长的变量名函数名等,最后让你的js文件变得更小。

混淆的作用就是用无意义的关键字符替代原来有意义的关键字符,让浏览者“看不懂”代码,不了解代码的运行逻辑,也就无法复用。混淆不同于加密解密,因为原来有意义的字符已经被替换了,不存在算法上的反推,任何的技术不可能再得出原来的那些有意义的字符。所以理论上,混淆后的代码无法解密。但因为它的整个运算逻辑关系链是完整的,与混淆前的代码关系链是完全一致的,所以非要“破解”,只能说摸清它的逻辑关系链,人为去做的话,烧脑又复杂。技术上需要一定的运算能力来做这个工作,比如云计算甚至超级计算机,但即便“破解”,它也是只能分析出一个函数大致是干什么用的,原来的关键字符名称还是不可能得出。