全球主机交流论坛
标题:
求这段js的加密混淆方法
[打印本页]
作者:
Zeros
时间:
2022-11-18 17:04
标题:
求这段js的加密混淆方法
const _0x31b1 = ['substring', 'value', 'getElementsByTagName', 'del', 'input', 'toFixed', 'button', 'length', 'indexOf'];
const _0x2055 = function (_0x31b18a, _0x2055dd) {
_0x31b18a = _0x31b18a - 0x0;
let _0x21f50d = _0x31b1[_0x31b18a];
return _0x21f50d;
};
let btns = document[_0x2055('0x2')](_0x2055('0x6'));
let input = document['querySelector'](_0x2055('0x4'));
let len = btns['length'];
let a, b, result, type;
for (let i = 0x0; i < len; i++) {
btns[i]['addEventListener']('click', () => {
let _0x333eea = btns[i]['innerHTML'];
let _0x5a16eb = input[_0x2055('0x1')];
if (_0x333eea >= 0x0 && _0x333eea <= 0x9 || _0x333eea === '.' && _0x5a16eb[_0x2055('0x8')]('.') === -0x1) {
input['value'] += _0x333eea;
}
if (_0x5a16eb === '' && _0x333eea === '.') {
input[_0x2055('0x1')] = '';
}
if (_0x5a16eb !== '') {
switch (_0x333eea) {
case _0x2055('0x3'):
let _0x3acdc1 = _0x5a16eb[_0x2055('0x0')](0x0, _0x5a16eb[_0x2055('0x7')] - 0x1);
input['value'] = _0x3acdc1;
break;
case'C':
input['value'] = '';
break;
case'+':
a = _0x5a16eb;
input['value'] = '';
type = '+';
break;
case'-':
a = _0x5a16eb;
input[_0x2055('0x1')] = '';
type = '-';
break;
case'*':
a = _0x5a16eb;
input[_0x2055('0x1')] = '';
type = '*';
break;
case'/':
a = _0x5a16eb;
input[_0x2055('0x1')] = '';
type = '/';
break;
case'=':
if (a !== undefined) {
b = _0x5a16eb;
if (type === '+') {
result = parseFloat(a) + parseFloat(b);
}
if (type === '-') {
result = parseFloat(a) - parseFloat(b);
}
if (type === '*') {
result = parseFloat(a) * parseFloat(b);
}
if (type === '/') {
result = parseFloat(a) / parseFloat(b);
}
let _0x20ce68 = result + '';
let _0x136fde = _0x20ce68['split']('.');
input['value'] = _0x136fde['length'] === 0x2 ? result[_0x2055('0x5')](0x2) : result;
}
break;
}
}
});
}
复制代码
有大佬知道这是什么加密混淆方法吗?顺便问下怎么逆向解密出来
作者:
xiaohu
时间:
2022-11-18 17:12
混淆方法不是很重要,js函数方法是固定的,跟栈即可。
作者:
Turb0S
时间:
2022-11-18 17:13
你这应该发看雪去。MJJ都不学无术,只会搞机
作者:
一直小蜗牛
时间:
2022-11-18 17:30
const funcNames = ['substring', 'value', 'getElementsByTagName', 'del', 'input', 'toFixed', 'button', 'length', 'indexOf'];
const _0x2055 = function (_0x31b18a, _0x2055dd) {
return funcNames[_0x31b18a];
};
let btns = document['getElementsByTagName']('button');
let input = document['querySelector']('input');
let len = btns['length'];
let a, b, result, type;
for (let i = 0; i < len; i++) {
btns[i]['addEventListener']('click', () => {
let btnName = btns[i]['innerHTML'];
let inputValue = input['value'];
if (btnName >= 0 && btnName <= 0x9 || btnName === '.' && inputValue['indexOf']('.') === -1) {
input['value'] += btnName;
}
if (inputValue === '' && btnName === '.') {
input['value'] = '';
}
if (inputValue !== '') {
switch (btnName) {
case 'del':
let _0x3acdc1 = inputValue['substring'](0, inputValue['length'] - 1);
input['value'] = _0x3acdc1;
break;
case 'C':
input['value'] = '';
break;
case '+':
a = inputValue;
input['value'] = '';
type = '+';
break;
case '-':
a = inputValue;
input['value'] = '';
type = '-';
break;
case '*':
a = inputValue;
input['value'] = '';
type = '*';
break;
case '/':
a = inputValue;
input['value'] = '';
type = '/';
break;
case '=':
if (a !== undefined) {
b = inputValue;
if (type === '+') {
result = parseFloat(a) + parseFloat(b);
}
if (type === '-') {
result = parseFloat(a) - parseFloat(b);
}
if (type === '*') {
result = parseFloat(a) * parseFloat(b);
}
if (type === '/') {
result = parseFloat(a) / parseFloat(b);
}
let _0x20ce68 = result + '';
let _0x136fde = _0x20ce68['split']('.');
input['value'] = _0x136fde['length'] === 2 ? result['toFixed'](2) : result;
}
break;
}
}
});
}
复制代码
闲的蛋疼 给你解密一下
其实就是 找到所有 btn,然后 都加上 事件, 判断按钮的内容, 然后 也不知道到干嘛了
作者:
Zeros
时间:
2022-11-18 19:15
一直小蜗牛 发表于 2022-11-18 17:30
闲的蛋疼 给你解密一下
其实就是 找到所有 btn,然后 都加上 事件, 判断按钮的内容, 然后 也不知道到 ...
多谢大佬
欢迎光临 全球主机交流论坛 (https://52.ht/)
Powered by Discuz! X3.4