JS字符串32进制加密

将字符转化为Unicode编码的32进制形式
主要用于JS关键字加密,如Eval加密形式为:(14).toString(32)+(31).toString(32)+(10).toString(32)+(21).toString(32)

原理:eval在浏览器中,是window的成员函数;在Node.JS环境中,是global的成员函数。
所以,eval便也可以写为:window.eval、global.eval,或window["eval"]、global["eval"]。
结合上述32进制加密思路, window["eval"]便可以变成: window[(14).toString(32)+(31).toString(32)+(10).toString(32)+(21).toString(32)]
global["eval"]可以变成: global[(14).toString(32)+(31).toString(32)+(10).toString(32)+(21).toString(32)]
这样就隐藏了eval关键字。 所以,这种加密方式主要可用于“关键字”隐藏。
另外,如果加密一个“非关键字”字符串,比如:“var a;”得到:“(31).toString(32)+(10).toString(32)+(27).toString(32)+" "+(10).toString(32)+";"”,可以再用eval或立即函数执行执行它,便可隐秘的定义一个变量a。

TIP:手动用此方式加密关键字之后的JS代码,再用 JShaman.comJsJiami.online 进行JS混淆加密,整体效果更好。

JS字符串 加密结果
清空JS字符串 | 从文件读取JS字符串 | 保存加密结果 | 复制加密结果
实例演示:
eval(alert(1)),将alert(1)进行32进制加密得到:
eval((10).toString(32)+(21).toString(32)+(14).toString(32)+(27).toString(32)+(29).toString(32)+"("+"1"+")")
window["eval"](alert(1))eval、alert(1)分别进行32进制加密得到:
window[(14).toString(32)+(31).toString(32)+(10).toString(32)+(21).toString(32)]((10).toString(32)+(21).toString(32)+(14).toString(32)+(27).toString(32)+(29).toString(32)+"("+"1"+")"+";");

更多工具