美文网首页
最常用的js混淆加密解

最常用的js混淆加密解

作者: 麻瓜三号 | 来源:发表于2023-05-07 18:23 被阅读0次

JS混淆加密是一种用于保护JS代码的技术,它能够将代码变得难以理解和修改,从而提高代码的安全性。但是,当我们需要修改和维护这些代码时,我们就会面临困难。因此,在某些情况下,我们需要解这些JS代码。

下面,我将给大家介绍一些JS混淆加密的常用技术,并提供一个案例代码以供参考。但是,我希望大家注意到,解他人的代码可能会侵犯他人的权益,因此请确保您拥有合法的使用权。

JS混淆加密的常用技术:

  1. 变量名混淆:将代码中的变量名替换为更难以理解的名称,例如_0x2c97
  2. 字符串加密:将字符串转换为字符编码形式,例如将字符串"hello"转换为"\x68\x65\x6c\x6c\x6f"
  3. 函数名称加密:将函数名称替换为更难以理解的名称,例如_0x353b6a
  4. 代码重构:将代码中的函数调用、循环、判断等结构进行重构,使其变得更难以理解。

以下是一个案例代码:

var _0x2c97 = ['\x61\x70\x70\x6c\x79', '\x62\x61\x73\x65\x36\x34', '\x64\x65\x63\x72\x79\x70\x74', '\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'];
(function(_0x2ec8, _0x36506f) {
    var _0x353b6a = function(_0x32cb4f) {
        while (--_0x32cb4f) {
            _0x2ec8['push'](_0x2ec8['shift']());
        }
    };
    _0x353b6a(++_0x36506f);
}(_0x2c97, 0x6a));
var _0x353b6a = function(_0x2ec8, _0x36506f) {
    _0x2ec8 = _0x2ec8 - 0x0;
    var _0x32cb4f = _0x2c97[_0x2ec8];
    return _0x32cb4f;
};
_0x353b6a['decrypt'] = function(_0x32cb4f) {
    return window[_0x2c97[2]](unescape(encodeURIComponent(_0x32cb4f)));
};
_0x353b6a['base64'] = function(_0x32cb4f) {
    return window[_0x2c97[3]](window[_0x2c97[2]](unescape(encodeURIComponent(_0x32cb4f))));
};
_0x353b6a['fromCharCode'] = function(_0x32cb4f) {
    return window[_0x2c97[

2.主题是js混淆加密

这段代码中,变量名和函数名都被混淆了,例如_0x2c97_0x353b6a。此外,还使用了字符串加密和代码重构等技术,使得代码更加难以阅读和理解。但是,如果我们需要修改和维护这段代码,就需要对其进行解。

解这段代码的方法也比较简单,只需要将混淆的变量名和函数名替换为更易读的名称,例如applybase64等,再将字符串加密的内容进行解码,就可以得到原始的JS代码。

下面是解后的代码:

var methods = ['apply', 'base64', 'decodeURIComponent', 'fromCharCode'];
(function(obj, index) {
    var rename = function(num) {
        while (--num) {
            obj['push'](obj['shift']());
        }
    };
    rename(++index);
}(methods, 0x6a));
var decodeURIComponent = function(obj, index) {
    obj = obj - 0x0;
    var num = methods[obj];
    return num;
};
decodeURIComponent['decrypt'] = function(str) {
    return window['decodeURIComponent'](unescape(str));
};
decodeURIComponent['base64'] = function(str) {
    return window['btoa'](window['unescape'](encodeURIComponent(str)));
};
decodeURIComponent['fromCharCode'] = function(str) {
    return String['fromCharCode'](str);
};

通过解,我们可以看到这段代码中定义了三个函数,分别是decryptbase64fromCharCode。其中,decrypt函数用于解字符串,base64函数用于将字符串转换为base64编码,fromCharCode函数用于将编码转换为字符。

总结

JS混淆加密是一种常用的技术,它能够保护JS代码,但也增加了代码的阅读和维护难度。如果需要解这些代码,我们可以通过替换变量名和函数名,以及解码字符串的方式来实现。但需要注意,解他人的代码可能会侵犯他人的权益,所以请确保您拥有合法的使用权。

如果您对文章内容有不同看法,或者疑问,欢迎到评论区留言,或者私信我都可以。

如遇自己源码加密后没备份,可以找我们解决解出恢复源码,任何加密都可以

1.png 2.png

相关文章

  • 共享个 Javascript 加密, js 混淆加密,全年免费使

    共享个 Javascript 加密,js 混淆加密,对 Web 应用、H5 应用、微信 /支付宝小程序进行 Jav...

  • js加密 压缩

    参考 许多js框架或js库的min版本是怎么做出来的? 前端如何给 JavaScript 加密(不是混淆)? 移动...

  • js加密 压缩

    参考许多js框架或js库的min版本是怎么做出来的?前端如何给 JavaScript 加密(不是混淆)?移动时代的...

  • js混淆加密原理(转载)

    具体参看文章总体来说非常容易被破解,不过可以阻止一些新手!当然也只有这种方式来限制前端的js不那么容易被看透而已!...

  • js压缩、混淆和加密

    最近看到有些论坛在讨论js压缩、混淆和加密的问题,特意找了些资料看了下,现在总结一下: 1.关于三者的定义与区别 ...

  • 几维安全Javascript代码混淆(js加密)在线使用说明

    几维安全Javascript代码混淆是一项在线加密服务,用户只需将JS文件打包成zip包,提交到加密平台,即可完成...

  • JS-String/Array 容易混淆的常用方法

    JS-String/Array 容易混淆的常用方法 String 中的slice split slice:提取字符...

  • Android 数据安全

    代码混淆 & apk的加固 常用加固平台:爱加密、360加固、腾讯加固、梆梆加固 Android应用加固原理 网络...

  • Nodejs 操作 Sql Server

    Nodejs 操作 Sql Server Intro 最近项目需要爬取一些数据,数据有加密,前端的js又被混淆了,...

  • js代码加密

    加密思路 1、代码混淆2、编译成二进制代码或者字节码执行3、编译成通过第三方js解释引擎的opcode 代码混淆 ...

网友评论

      本文标题:最常用的js混淆加密解

      本文链接:https://www.haomeiwen.com/subject/jbqksdtx.html