首页 > 其他分享 >居然有单个首字母混淆的JS加密

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

时间:2022-11-03 18:06:35浏览次数:64  
标签:function 加密 key prm value JS 首字母 && ref


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

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个 有很大的局限性。这种加密解起来还算简单,就是比较费眼睛。。


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

标签:function,加密,key,prm,value,JS,首字母,&&,ref
From: https://blog.51cto.com/u_15781271/5820625

相关文章

  • vue.js中实现阻止事件冒泡
    当父子元素中都有点击事件的时候,为了让触发子元素中的事件时,不去触发父元素中的事件,可以在子元素事件中添加stop来阻止事件冒泡。 .stop是阻止冒泡行为,不让当前元素的事......
  • js中的闭包
    什么是闭包呢?严格来说要满足四个条件:1.有函数的嵌套2.内部函数引用外部作用域的变量参数3.返回值是函数4.创建一个对象函数,让其长期驻留1functionfa(){2......
  • js中的匿名函数
    什么是匿名函数?顾名思义,就是没有名字的函数例如:function(){console.log(123);}在vscode中会直接提示 Identifierexpected.错误。如果尝试输出的话,在浏览器也会......
  • vue des 加密和解密
    先引入:npminstallcrypto-jsutils包底下创建一个des.js文件,复制进去就行//utils/des.js//des加密文件importcryptoJsfrom"crypto-js";//随机生成指定......
  • Python json模块
    一、JSON介绍JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写。二、常用方法方法描述json.loads()将JSON字符串转化为Python......
  • app直播源代码,Extjs Grid自动换行
    app直播源代码,ExtjsGrid自动换行定义列的时候加个renderer,例 Js代码      {      header:'序号',      dataIndex:'ind',    ......
  • web服务器15 jsonp格式接口
    概念:浏览器端通过<script>标签的src属性,请求服务器上的数据,同时,服务器返回一个函数的调用。这种请求数据的方式叫做SONP。特点:①JSONP不属于真正的Ajax请求,因为它没有使用......
  • RSA加密算法
    RSA加密算法5分钟了解RSA加解密算法:https://zhuanlan.zhihu.com/p/365330981验证数据完整性:私钥签名-公钥验签;消息加密:公钥加密-私钥解密;......
  • 关于PowerShell Convertto-Json 管道问题
    问题如果一个空数组转成json之后,你期望的是什么?总不能是null吧?如果一个数组内有一个元素,转成json之后,你期望的是什么?总不能不是数组了吧?bug这就是bug啊!很好,查到了h......
  • .net 温故知新:【8】.NET 中的配置从xml转向json
    一、配置概述在.netframework平台中我们常见的也是最熟悉的就是.config文件作为配置,控制台桌面程序是App.config,Web就是web.config,里面的配置格式为xml格式。在xml里面......