居然有单个首字母混淆的JS加密

老规矩,直接上加密的源代码

function g(A, B, C) {
    var P = L;
    C(e[A[P(0x1db)]]);
}
function h(A, B, C) {
    var Q = L;
    if (A['key'] == Q(0x1eb) && A[Q(0x1ee)] != null) {
        if (!A[Q(0x1ee)][Q(0x1a7)]) A[Q('0x1ee')][Q('0x1a7')] = B[Q(0x1d0)]['id'];
    }
    e[A['key']] = A['value'],
        C != null && C();
}
function i(A, B, C) {
    var R = L,
        D = d[A[R('0x1db')]];
    if (D && D != '' && D[R('0x1b2')](0x0, 0x1) == '{') C(JSON[R(0x1ef)](D));
    else C(D);
}
function j(A, B, C) {
    var S = L;
    d[A[S(0x1db)]] = A[S(0x1ee)],
        C(A['value']);
}
function k(A, B, C) {
    var T = L,
        D = decodeURIComponent(A[T('0x1ae')]);
    chrome[T(0x1e3)]['executeScript'](B[T(0x1d0)]['id'], {
        'code': D,
        'allFrames': !![]
    }),
        C({});
}

解密后

function getAryCal(prm, obj, ref) {
    ref(cache[prm.key]);
}

function setLocalSCur(prm, obj, ref) {
    if (prm.key == "CurrentOrder" && prm.value != null) {
        if (!prm.value.tabId) {
            prm.value.tabId = obj.tab.id;
        }
    }

    cache[prm.key] = prm.value;
    ref != null && ref();
}

function getLocalSJsonCal(prm, obj, ref) {
    var value = localS[prm.key];

    if (value && value != '' && value.substr(0, 1) == '{') {
        ref(JSON.parse(value));
    } else {
        ref(value);
    }
}

function setLocalSCal(prm, obj, ref) {
    localS[prm.key] = prm.value;
    ref(prm.value);
}

function execInputCode(prm, obj, ref) {
    var code = decodeURIComponent(prm.inputScript);
    chrome.tabs.executeScript(obj.tab.id, {
        'code': code,
        'allFrames': true
    });
    ref({});
}

关键点

第一次见到用单个的A-Za-z来做混淆的加密方法,这种方法很危险,因为字母就26个 有很大的局限性。这种加密解起来还算简单,就是比较费眼睛。。

有需要的到www.jsjiami.com联系我 底部有我联系方式
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值