手把手教你学会一键还原混淆js原理

1.短变量名

在以下示例代码中,我们将变量“customerName”替换为“a”:

var a = "John Smith";
console.log(a);

2.随机变量名

在以下示例代码中,我们使用JavaScript的Math.random()函数生成随机变量名,并将变量“customerName”替换为随机生成的名称:

var s = "John Smith";
var r = Math.random().toString(36).substring(7);
eval("var " + r + "='" + s + "'");
console.log(eval(r));

3.Unicode变量名

在以下示例代码中,我们将变量“customerName”替换为Unicode字符:

var \u0063\u0075\u0073\u0074\u006f\u006d\u0065\u0072\u004e\u0061\u006d\u0065 = "John Smith";
console.log(\u0063\u0075\u0073\u0074\u006f\u006d\u0065\u0072\u004e\u0061\u006d\u0065);

4.Base64编码变量名

在以下示例代码中,我们将变量名使用Base64编码,并将其替换为编码后的字符串:

var Y3VzdG9tZXJOYW1l = "John Smith";
eval("var " + atob("WUlJQVZteHBjM01uZVlBdWJqZDBMUT09") + "='" + Y3VzdG9tZXJOYW1l + "'");
console.log(eval(atob("WUlJQVZteHBjM01uZVlBdWJqZDBMUT09")));

需要注意的是,以上示例代码仅仅是用于演示JavaScript变量名混淆的基本原理,并不一定适用于所有的JavaScript应用程序,一般简单的js可以用www.jsjiami.com一键解开。在实践中,需要综合考虑代码的安全性和可维护性,选择适合自己应用程序的变量名混淆策略。

你可能感兴趣的:(前端)