mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-21 12:15:16 +08:00
34js加密js加课例题1-补环境-py执行js
This commit is contained in:
parent
f7cafce45d
commit
6c4288ad19
@ -3,8 +3,14 @@ var hexcase = 0;
|
|||||||
var b64pad = __Oxb76f0[0];
|
var b64pad = __Oxb76f0[0];
|
||||||
var chrsz = 8;
|
var chrsz = 8;
|
||||||
|
|
||||||
navigator = {};
|
navigator = {
|
||||||
window = {};
|
'userAgent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36',
|
||||||
|
'plugins': {
|
||||||
|
'length': 5
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window = global;
|
||||||
document = {
|
document = {
|
||||||
'execCommand': function () {
|
'execCommand': function () {
|
||||||
return true
|
return true
|
||||||
@ -324,4 +330,26 @@ function binl2b64(_0x1b98x38) {
|
|||||||
|
|
||||||
;
|
;
|
||||||
return _0x1b98x2d;
|
return _0x1b98x2d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// rnns = 'tu2qmX';
|
||||||
|
// rind = 12;
|
||||||
|
// hex_1_str = hex_1('YCBR1vPi7L');
|
||||||
|
// d31c713f16b0tu2qmXe008fa1c157ced
|
||||||
|
// console.log(hex_1_str);
|
||||||
|
|
||||||
|
|
||||||
|
function hex_1_str(rnns, rind, sct){
|
||||||
|
rnns = rnns;
|
||||||
|
rind = rind;
|
||||||
|
return hex_1(sct);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module.exports =
|
||||||
|
{
|
||||||
|
hex_1_str
|
||||||
|
};
|
||||||
|
|
246
猿人学练习/34js加密js加课例题1-补环境-py执行js/2.js
Normal file
246
猿人学练习/34js加密js加课例题1-补环境-py执行js/2.js
Normal file
@ -0,0 +1,246 @@
|
|||||||
|
var __Oxbb794 = ["", "length", "concat", "; ", "split", "cookie", "=", "yuanrenxue34", "iloveu=", "domain", ".", "replace", "getTime", "setTime", "; expires=", "toGMTString", "; path=/", "; domain=", "charCodeAt", "fromCharCode", "0123456789ABCDEF", "0123456789abcdef", "charAt", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", "undefined", "log", "删除", "版本号,js会定", "期弹窗,", "还请支持我们的工作", "jsjia", "mi.com"];
|
||||||
|
var hexcase = 0;
|
||||||
|
var b64pad = __Oxbb794[0];
|
||||||
|
var chrsz = 8;
|
||||||
|
|
||||||
|
function hex_2(_0x6a8ax5) {
|
||||||
|
return binb2hex(core_sha1(str2binb(_0x6a8ax5), _0x6a8ax5[__Oxbb794[1]] * chrsz));
|
||||||
|
}
|
||||||
|
|
||||||
|
function b64_sha1(_0x6a8ax5) {
|
||||||
|
return binb2b64(core_sha1(str2binb(_0x6a8ax5), _0x6a8ax5[__Oxbb794[1]] * chrsz));
|
||||||
|
}
|
||||||
|
|
||||||
|
function str_sha1(_0x6a8ax5) {
|
||||||
|
return binb2str(core_sha1(str2binb(_0x6a8ax5), _0x6a8ax5[__Oxbb794[1]] * chrsz));
|
||||||
|
}
|
||||||
|
|
||||||
|
function hex_hmac_sha1(_0x6a8ax9, _0x6a8axa) {
|
||||||
|
return binb2hex(core_hmac_sha1(_0x6a8ax9, _0x6a8axa));
|
||||||
|
}
|
||||||
|
|
||||||
|
function b64_hmac_sha1(_0x6a8ax9, _0x6a8axa) {
|
||||||
|
return binb2b64(core_hmac_sha1(_0x6a8ax9, _0x6a8axa));
|
||||||
|
}
|
||||||
|
|
||||||
|
function str_hmac_sha1(_0x6a8ax9, _0x6a8axa) {
|
||||||
|
return binb2str(core_hmac_sha1(_0x6a8ax9, _0x6a8axa));
|
||||||
|
}
|
||||||
|
|
||||||
|
function core_sha1(_0x6a8axe, _0x6a8axf) {
|
||||||
|
_0x6a8axe[_0x6a8axf >> 5] |= 128 << 24 - _0x6a8axf % 32;
|
||||||
|
_0x6a8axe[(_0x6a8axf + 64 >> 9 << 4) + 15] = _0x6a8axf;
|
||||||
|
|
||||||
|
var _0x6a8ax10 = Array(80);
|
||||||
|
|
||||||
|
var _0x6a8ax11 = 1732584193;
|
||||||
|
|
||||||
|
var _0x6a8ax12 = -271733879;
|
||||||
|
|
||||||
|
var _0x6a8ax13 = -1732584194;
|
||||||
|
|
||||||
|
var _0x6a8ax14 = 271733878;
|
||||||
|
|
||||||
|
var _0x6a8ax15 = -1009589776;
|
||||||
|
|
||||||
|
for (var _0x6a8ax16 = 0; _0x6a8ax16 < _0x6a8axe[__Oxbb794[1]]; _0x6a8ax16 += 16) {
|
||||||
|
var _0x6a8ax17 = _0x6a8ax11;
|
||||||
|
var _0x6a8ax18 = _0x6a8ax12;
|
||||||
|
var _0x6a8ax19 = _0x6a8ax13;
|
||||||
|
var _0x6a8ax1a = _0x6a8ax14;
|
||||||
|
var _0x6a8ax1b = _0x6a8ax15;
|
||||||
|
|
||||||
|
for (var _0x6a8ax1c = 0; _0x6a8ax1c < 80; _0x6a8ax1c++) {
|
||||||
|
if (_0x6a8ax1c < 16) {
|
||||||
|
_0x6a8ax10[_0x6a8ax1c] = _0x6a8axe[_0x6a8ax16 + _0x6a8ax1c];
|
||||||
|
} else {
|
||||||
|
_0x6a8ax10[_0x6a8ax1c] = rol(_0x6a8ax10[_0x6a8ax1c - 3] ^ _0x6a8ax10[_0x6a8ax1c - 8] ^ _0x6a8ax10[_0x6a8ax1c - 14] ^ _0x6a8ax10[_0x6a8ax1c - 16], 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
var _0x6a8ax1d = safe_add(safe_add(rol(_0x6a8ax11, 5), sha1_ft(_0x6a8ax1c, _0x6a8ax12, _0x6a8ax13, _0x6a8ax14)), safe_add(safe_add(_0x6a8ax15, _0x6a8ax10[_0x6a8ax1c]), sha1_kt(_0x6a8ax1c)));
|
||||||
|
|
||||||
|
_0x6a8ax15 = _0x6a8ax14;
|
||||||
|
_0x6a8ax14 = _0x6a8ax13;
|
||||||
|
_0x6a8ax13 = rol(_0x6a8ax12, 30);
|
||||||
|
_0x6a8ax12 = _0x6a8ax11;
|
||||||
|
_0x6a8ax11 = _0x6a8ax1d;
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
_0x6a8ax11 = safe_add(_0x6a8ax11, _0x6a8ax17);
|
||||||
|
_0x6a8ax12 = safe_add(_0x6a8ax12, _0x6a8ax18);
|
||||||
|
_0x6a8ax13 = safe_add(_0x6a8ax13, _0x6a8ax19);
|
||||||
|
_0x6a8ax14 = safe_add(_0x6a8ax14, _0x6a8ax1a);
|
||||||
|
_0x6a8ax15 = safe_add(_0x6a8ax15, _0x6a8ax1b);
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
return Array(_0x6a8ax11, _0x6a8ax12, _0x6a8ax13, _0x6a8ax14, _0x6a8ax15);
|
||||||
|
}
|
||||||
|
|
||||||
|
function sha1_ft(_0x6a8ax1d, _0x6a8ax12, _0x6a8ax13, _0x6a8ax14) {
|
||||||
|
if (_0x6a8ax1d < 20) {
|
||||||
|
return _0x6a8ax12 & _0x6a8ax13 | ~_0x6a8ax12 & _0x6a8ax14;
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
if (_0x6a8ax1d < 40) {
|
||||||
|
return _0x6a8ax12 ^ _0x6a8ax13 ^ _0x6a8ax14;
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
if (_0x6a8ax1d < 60) {
|
||||||
|
return _0x6a8ax12 & _0x6a8ax13 | _0x6a8ax12 & _0x6a8ax14 | _0x6a8ax13 & _0x6a8ax14;
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
return _0x6a8ax12 ^ _0x6a8ax13 ^ _0x6a8ax14;
|
||||||
|
}
|
||||||
|
|
||||||
|
function sha1_kt(_0x6a8ax1d) {
|
||||||
|
return _0x6a8ax1d < 20 ? 1518500249 : _0x6a8ax1d < 40 ? 1859775393 : _0x6a8ax1d < 60 ? -1894007588 : -899497514;
|
||||||
|
}
|
||||||
|
|
||||||
|
function core_hmac_sha1(_0x6a8ax9, _0x6a8axa) {
|
||||||
|
var _0x6a8ax21 = str2binb(_0x6a8ax9);
|
||||||
|
|
||||||
|
if (_0x6a8ax21[__Oxbb794[1]] > 16) {
|
||||||
|
_0x6a8ax21 = core_sha1(_0x6a8ax21, _0x6a8ax9[__Oxbb794[1]] * chrsz);
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
var _0x6a8ax22 = Array(16);
|
||||||
|
|
||||||
|
var _0x6a8ax23 = Array(16);
|
||||||
|
|
||||||
|
for (var _0x6a8ax16 = 0; _0x6a8ax16 < 16; _0x6a8ax16++) {
|
||||||
|
_0x6a8ax22[_0x6a8ax16] = _0x6a8ax21[_0x6a8ax16] ^ 909522486;
|
||||||
|
_0x6a8ax23[_0x6a8ax16] = _0x6a8ax21[_0x6a8ax16] ^ 1549556828;
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
var _0x6a8ax24 = core_sha1(_0x6a8ax22[__Oxbb794[2]](str2binb(_0x6a8axa)), 512 + _0x6a8axa[__Oxbb794[1]] * chrsz);
|
||||||
|
|
||||||
|
return core_sha1(_0x6a8ax23[__Oxbb794[2]](_0x6a8ax24), 672);
|
||||||
|
}
|
||||||
|
|
||||||
|
function safe_add(_0x6a8axe, _0x6a8ax26) {
|
||||||
|
var _0x6a8ax27 = (_0x6a8axe & 65535) + (_0x6a8ax26 & 65535);
|
||||||
|
|
||||||
|
var _0x6a8ax28 = (_0x6a8axe >> 16) + (_0x6a8ax26 >> 16) + (_0x6a8ax27 >> 16);
|
||||||
|
|
||||||
|
return _0x6a8ax28 << 16 | _0x6a8ax27 & 65535;
|
||||||
|
}
|
||||||
|
|
||||||
|
function rol(_0x6a8ax2a, _0x6a8ax2b) {
|
||||||
|
return _0x6a8ax2a << _0x6a8ax2b | _0x6a8ax2a >>> 32 - _0x6a8ax2b;
|
||||||
|
}
|
||||||
|
|
||||||
|
function sEnc() {
|
||||||
|
var _0x6a8ax2d = document[__Oxbb794[5]][__Oxbb794[4]](__Oxbb794[3]);
|
||||||
|
|
||||||
|
for (var _0x6a8ax16 = 0; _0x6a8ax16 < _0x6a8ax2d[__Oxbb794[1]]; _0x6a8ax16++) {
|
||||||
|
var _0x6a8ax2e = _0x6a8ax2d[_0x6a8ax16][__Oxbb794[4]](__Oxbb794[6]);
|
||||||
|
|
||||||
|
if (_0x6a8ax2e[0] == __Oxbb794[7]) {
|
||||||
|
sct = unescape(_0x6a8ax2e[1]);
|
||||||
|
|
||||||
|
var _0x6a8ax2f = __Oxbb794[8] + escape(hex_2(hex_1(sct)));
|
||||||
|
|
||||||
|
var _0x6a8ax30 = new Date();
|
||||||
|
|
||||||
|
var _0x6a8ax31 = 2592000000;
|
||||||
|
var _0x6a8ax32 = document[__Oxbb794[9]];
|
||||||
|
_0x6a8ax32 = _0x6a8ax32[__Oxbb794[11]](_0x6a8ax32[__Oxbb794[4]](__Oxbb794[10])[0] + __Oxbb794[10], __Oxbb794[0]);
|
||||||
|
|
||||||
|
_0x6a8ax30[__Oxbb794[13]](_0x6a8ax30[__Oxbb794[12]]() + _0x6a8ax31);
|
||||||
|
|
||||||
|
_0x6a8ax2f += __Oxbb794[14] + _0x6a8ax30[__Oxbb794[15]]();
|
||||||
|
_0x6a8ax2f += __Oxbb794[16];
|
||||||
|
document[__Oxbb794[5]] = _0x6a8ax2f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function str2binb(_0x6a8ax34) {
|
||||||
|
var _0x6a8ax35 = Array();
|
||||||
|
|
||||||
|
var _0x6a8ax36 = (1 << chrsz) - 1;
|
||||||
|
|
||||||
|
for (var _0x6a8ax16 = 0; _0x6a8ax16 < _0x6a8ax34[__Oxbb794[1]] * chrsz; _0x6a8ax16 += chrsz) {
|
||||||
|
_0x6a8ax35[_0x6a8ax16 >> 5] |= (_0x6a8ax34[__Oxbb794[18]](_0x6a8ax16 / chrsz) & _0x6a8ax36) << 24 - _0x6a8ax16 % 32;
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
return _0x6a8ax35;
|
||||||
|
}
|
||||||
|
|
||||||
|
function binb2str(_0x6a8ax35) {
|
||||||
|
var _0x6a8ax34 = __Oxbb794[0];
|
||||||
|
|
||||||
|
var _0x6a8ax36 = (1 << chrsz) - 1;
|
||||||
|
|
||||||
|
for (var _0x6a8ax16 = 0; _0x6a8ax16 < _0x6a8ax35[__Oxbb794[1]] * 32; _0x6a8ax16 += chrsz) {
|
||||||
|
_0x6a8ax34 += String[__Oxbb794[19]](_0x6a8ax35[_0x6a8ax16 >> 5] >>> 24 - _0x6a8ax16 % 32 & _0x6a8ax36);
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
return _0x6a8ax34;
|
||||||
|
}
|
||||||
|
|
||||||
|
function binb2hex(_0x6a8ax39) {
|
||||||
|
if (hexcase) {
|
||||||
|
var _0x6a8ax3a = __Oxbb794[20];
|
||||||
|
} else {
|
||||||
|
var _0x6a8ax3a = __Oxbb794[21];
|
||||||
|
}
|
||||||
|
|
||||||
|
var _0x6a8ax34 = __Oxbb794[0];
|
||||||
|
|
||||||
|
for (var _0x6a8ax16 = 0; _0x6a8ax16 < _0x6a8ax39[__Oxbb794[1]] * 4; _0x6a8ax16++) {
|
||||||
|
_0x6a8ax34 += _0x6a8ax3a[__Oxbb794[22]](_0x6a8ax39[_0x6a8ax16 >> 2] >> (3 - _0x6a8ax16 % 4) * 8 + 4 & 15) + _0x6a8ax3a[__Oxbb794[22]](_0x6a8ax39[_0x6a8ax16 >> 2] >> (3 - _0x6a8ax16 % 4) * 8 & 15);
|
||||||
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
return _0x6a8ax34;
|
||||||
|
}
|
||||||
|
|
||||||
|
function binb2b64(_0x6a8ax39) {
|
||||||
|
var _0x6a8ax3c = __Oxbb794[23];
|
||||||
|
var _0x6a8ax34 = __Oxbb794[0];
|
||||||
|
|
||||||
|
for (var _0x6a8ax16 = 0; _0x6a8ax16 < _0x6a8ax39[__Oxbb794[1]] * 4; _0x6a8ax16 += 3) {
|
||||||
|
var _0x6a8ax3d = (_0x6a8ax39[_0x6a8ax16 >> 2] >> 8 * (3 - _0x6a8ax16 % 4) & 255) << 16 | (_0x6a8ax39[_0x6a8ax16 + 1 >> 2] >> 8 * (3 - (_0x6a8ax16 + 1) % 4) & 255) << 8 | _0x6a8ax39[_0x6a8ax16 + 2 >> 2] >> 8 * (3 - (_0x6a8ax16 + 2) % 4) & 255;
|
||||||
|
|
||||||
|
for (var _0x6a8ax1c = 0; _0x6a8ax1c < 4; _0x6a8ax1c++) {
|
||||||
|
if (_0x6a8ax16 * 8 + _0x6a8ax1c * 6 > _0x6a8ax39[__Oxbb794[1]] * 32) {
|
||||||
|
_0x6a8ax34 += b64pad;
|
||||||
|
} else {
|
||||||
|
_0x6a8ax34 += _0x6a8ax3c[__Oxbb794[22]](_0x6a8ax3d >> 6 * (3 - _0x6a8ax1c) & 63);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return _0x6a8ax34;
|
||||||
|
}
|
||||||
|
|
||||||
|
//37e4aa5f2e8fe43d0f6b061eb3383763eed96394
|
||||||
|
// hex_2_str = escape(hex_2('d31c713f16b0tu2qmXe008fa1c157ced'));
|
||||||
|
// console.log(hex_2_str);
|
||||||
|
|
||||||
|
function hex_2_str(hex_1_str){
|
||||||
|
return escape(hex_2(hex_1_str));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module.exports =
|
||||||
|
{
|
||||||
|
hex_2_str
|
||||||
|
};
|
||||||
|
|
41
猿人学练习/34js加密js加课例题1-补环境-py执行js/main.py
Normal file
41
猿人学练习/34js加密js加课例题1-补环境-py执行js/main.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import requests
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
def get_safe():
|
||||||
|
timestamp = int(time.time())
|
||||||
|
data = {"timestamp": str(timestamp)}
|
||||||
|
url = f"http://0.0.0.0:3005/sign_34"
|
||||||
|
session = requests.session()
|
||||||
|
headers = {
|
||||||
|
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
||||||
|
}
|
||||||
|
session.headers = headers
|
||||||
|
response = session.request("POST", url, data=data)
|
||||||
|
return response.text
|
||||||
|
|
||||||
|
|
||||||
|
def challenge34():
|
||||||
|
url = "https://www.python-spider.com/challenge/34"
|
||||||
|
session = requests.session()
|
||||||
|
headers = {
|
||||||
|
'cookie': 'sessionid=7da5y8hmpxhsazb024bdr0trejrnifey;'
|
||||||
|
}
|
||||||
|
session.headers = headers
|
||||||
|
response = session.request("GET", url, headers=headers)
|
||||||
|
return response.text
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
data_num = 0
|
||||||
|
response_json = challenge34()
|
||||||
|
print(response_json)
|
||||||
|
# data_list = response_json.get('data')
|
||||||
|
# print(data_list)
|
||||||
|
# for data in data_list:
|
||||||
|
# data_num += int(data.get('value'))
|
||||||
|
# print(data_num)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run()
|
23
猿人学练习/34js加密js加课例题1-补环境-py执行js/server.js
Normal file
23
猿人学练习/34js加密js加课例题1-补环境-py执行js/server.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const app = express();
|
||||||
|
const code_1 = require("./1");
|
||||||
|
const code_2 = require("./2");
|
||||||
|
var bodyParser = require('body-parser');
|
||||||
|
app.use(bodyParser());
|
||||||
|
|
||||||
|
|
||||||
|
app.post('/sign_34', function (req, res) {
|
||||||
|
let result = '';
|
||||||
|
let rnns = req.body.rnns;
|
||||||
|
let rind = req.body.rind;
|
||||||
|
let sct = req.body.sct;
|
||||||
|
let result_hex_1 = code_1.hex_1_str(rnns, rind, sct);
|
||||||
|
console.log(result_hex_1);
|
||||||
|
result = code_2.hex_2_str(result_hex_1);
|
||||||
|
res.send(result.toString());
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
app.listen(3005, () => {
|
||||||
|
console.log("开启服务,端口 3005")
|
||||||
|
});
|
27
猿人学练习/34js加密js加课例题1-补环境-py执行js/test.js
Normal file
27
猿人学练习/34js加密js加课例题1-补环境-py执行js/test.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
var rind = "xajgxs=LfNZU3qBR68;g\"ds";
|
||||||
|
var rnns//@$%%&*(2302)(&(^%^
|
||||||
|
/*
|
||||||
|
In2s\"=""*/ = "SFvzHk"
|
||||||
|
;//ashjgfgf
|
||||||
|
rind
|
||||||
|
//fewfwe3232
|
||||||
|
= 119;
|
||||||
|
/*423rfewfwe*/
|
||||||
|
//fegrbnn4384;543
|
||||||
|
dfsind =
|
||||||
|
/**//**/491;
|
||||||
|
rind =/*
|
||||||
|
@#%$^&%$96667r45fggbh
|
||||||
|
CZRvoWKAU*//**//**/84//FDi5u
|
||||||
|
;"#@$#%@#TYBWOE2hu";
|
||||||
|
669909
|
||||||
|
/*
|
||||||
|
rind=/*
|
||||||
|
//fewfwe3232
|
||||||
|
=683*//*423rfewfwe*/
|
||||||
|
//fegrbnn4384;543
|
||||||
|
/*rind=
|
||||||
|
242;*/
|
||||||
|
|
||||||
|
console.log(rind);
|
||||||
|
console.log(rnns);
|
Loading…
x
Reference in New Issue
Block a user