关于前端:手把手教你学会一键还原混淆js原理

2次阅读

共计 853 个字符,预计需要花费 3 分钟才能阅读完成。

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 一键解开。在实践中,须要综合思考代码的安全性和可维护性,抉择适宜本人应用程序的变量名混同策略。

正文完
 0