加速乐 js解混淆 __jsl_clearance_s生成

提示!本文章仅供学习交流,严禁用于任何商业和非法用途,未经许可禁止转载,禁止任何修改后二次传播,如有侵权,可联系本文作者删除!

目标网站

aHR0cHM6Ly9jcmVkaXQuaGVmZWkuZ292LmNuL2NyZWRpdC13ZWJzaXRlL3B1YmxpY2l0eS94eWNuL3h5Y24tbGlzdC5kbz9uYXZJZD1DRTlGRkY1MTFENkUyQzRGRTA1Mzg4QkQwNDBBREVEMyZjb2x1bW5JZD1CNkE5NzlEQ0I2QTg0OTg0RTA1MzEyMDAxRTBBQzI3NiZyZWxlYXNlSWQ9QjZBOTc5RENCNkE4NDk4NEUwNTMxMjAwMUUwQUMyNzY=

抓包分析

在这里插入图片描述
破解的流程 请求分成三个请求:

1、不携带任何cookie的请求521, 拿到详情JS代码

2、携带第一个请求的set-cookie 和js 自执行的cookie 请求521

3、根据第二个请求的js 设置的cookie 发请求 拿到正常页面

第一个请求返回的内容 可以直接执行 拿到结果, 只需要分析第二个请求的js 内容

解混淆


const parser = require("@babel/parser");
const traverse = require("@babel/traverse").default;
const t = require("@babel/types");
const generator = require("@babel/generator").default;
const fs = require("fs");// js混淆代码
process.argv.length > 2 ? encode_file = process.argv[2] : encode_file = "./input/jsl.js";
process.argv.length > 3 ? decode_file = process.argv[3] : decode_file = "./output/jsl_decode.js";// #######################################
// AST解析函数
// #######################################// 获取全局函数
function getGlobalFunc(){let program_body= ast.program.body;for (var i=0; i<3; i++){globalCode += generator(program_body[i]).code + "\n";}return globalCode
}// AST还原流程
// #######################################// 读取需要解码的js文件, 注意文件编码为utf-8格式
let jscode = fs.readFileSync(encode_file, {encoding: "utf-8"});// 将js代码修转成AST语法树
let ast = parser.parse(jscode);console.time("处理完毕,耗时");var globalCode = '';// 获取自执行方法
globalCode = getGlobalFunc();
eval(globalCode);const deal_CallExpression = {CallExpression(path){let {callee, arguments} = path.node;if (callee === undefined || callee.name === undefined)return;if (callee.name != '_0xfecf' || arguments.length !=2 )return;let value = _0xfecf(arguments[0].value, arguments[1].value);// 创建节点并替换结果let string_node = t.stringLiteral(value);path.replaceWith(string_node)}
};// 遍历语法树节点,调用修改函数
traverse(ast, deal_CallExpression);// 合并字符串
const BinaryExpressionFix = {BinaryExpression: {exit: function (path) {try {eval(path.toString()).toString();path.replaceWith(t.stringLiteral(eval(path.toString()).toString()));} catch (e) {}}}
};
traverse(ast, BinaryExpressionFix);// 删除无用方法
nodesToRemove = [];
const remove_path = {enter(path) {// 只在顶层语句中收集前三个节点if (path.parentPath && path.parentPath.isProgram() && nodesToRemove.length < 3) {nodesToRemove.push(path);}}
};
traverse(ast, remove_path);
nodesToRemove.forEach(path => path.remove());console.timeEnd("处理完毕,耗时");// 将ast转成js代码,{jsescOption: {"minimal": true}} unicode -> 中文
let {code} = generator(ast, opts = {jsescOption: {"minimal": true}});
// 将js代码保存到文件
fs.writeFile(decode_file, code, (err) => {
});console.log("end");

解混淆后的代码直接执行 调试,把缺少的环境补上
在这里插入图片描述
在这里插入图片描述
如下:

window = global;
window.navigator = {};
navigator.userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36";
document = {};

直接执行得到 结果, 和浏览器对比发现是一致的

通过分析多个JS 会发现 整体js 根据参数 执行 MD5, sha1,sha256 加密运算,结果和ct 值作比对
在这里插入图片描述

结语

可以通过补环境,提取参数的方式通过执行js拿到cookie 结果, 也可以通过Python改写的方法去完成

ps: 觉得不错点个赞 。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/8127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用npm script运行webpack

npm&#xff08;Node Package Manager&#xff09;是 Node.js 的包管理工具&#xff0c;用于安装、发布和管理 Node.js 包。 在安装node的时候&#xff0c;就默认安装了npm。 Npm Script 则是 Npm 内置的一个功能&#xff0c;允许在 package.json 文件里面使用 scripts 字段定…

聚观早报 | 比亚迪首款新能源皮卡;苹果M4芯片有望登场

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 5月8日消息 比亚迪首款新能源皮卡 苹果M4芯片有望登场 红旗首款手机外观揭晓 一加13设计细节曝光 长城汽车4月销…

matlab 基于拉依达检验法(3σ准则) 实现多类别多参数的批量异常样本检验 V2.0

简介 拉依达检验法&#xff08;3σ准则&#xff09;是一种统计学方法&#xff0c;用于检测数据中的异常值。这种方法基于正态分布的特性来确定数据点是否可能是异常值。以下是关于拉依达检验法&#xff08;3σ准则&#xff09;的详细介绍&#xff1a; 基本原理&#xff1a; 拉…

Electron项目中将CommonJS改成使用ES 模块(ESM)语法preload.js加载报错

问题 将Electron项目原CommonJS语法改成使用ES 模块&#xff08;ESM&#xff09;语法&#xff0c;preload.js一直加载不到&#xff0c;报错如下&#xff1a; VM111 renderer_init:2 Unable to load preload script: D:\Vue\wnpm\electron\preload.js VM111 renderer_init:2 E…

3D相机及应用

无论是2D相机和3D相机&#xff0c;在工业应用中都有着不可或缺的作用。3D相机与2D相机的最大区别在于&#xff0c;3D相机可以获取真实世界尺度下的3D信息&#xff0c;而2D相机只能获取像素尺度下的2D平面图像信息。通过3D相机得到的数据&#xff0c;我们可以还原出被测量物体的…

FX110书籍推荐:如何快速成为一名专业股票投资人?

股票投资领域有一本神作《股票交易入门》&#xff0c;它是股票从业人员的入门必备书籍。 关于股票入门的书籍很多&#xff0c;但这本书涉及的知识面最全、实用性最强。从这本书里&#xff0c;我们可以领略到股票交易世界的跌宕起伏而又波澜壮阔的魅力。本书作者 本书的作者是美…

Android studio 打开Device Mirroring方便调试

巧合下发现一个很好用的工具&#xff0c;在平时调试真机的时候在每次run app后都要低头找找手机看看效果。但是&#xff0c;用了AS上的Device Mirroring&#xff0c;你会发现根本不需要再低头点手机&#xff0c;调试方便一万倍啊。 话不多说&#xff0c;上图。直接就可以在电脑…

第二篇【传奇开心果系列】Python深度学习库技术点案例示例:深度解读深度学习在语音助手方面的应用

传奇开心果博文系列 系列博文目录Python深度学习库技术点案例示例系列 博文目录前言一、深度学习在语音助手方面的应用介绍二、语音识别示例代码三、语义理解示例代码四、对话生成示例代码五、个性化服务示例代码六、多模态交互示例代码七、情感识别示例代码八、知识点归纳 系列…

sql中select查询大数据量表时很慢

有一张表table1数据量大概130万&#xff0c;查询sql如下&#xff1a; select count(*) from( select distinct a.example_id,a.plan_id,a.trustor_id from table1 a where DEL_STATUS0 and (example_id,1,2) in(...) and plan_id in(...) ) 查询花了将近40秒钟&#xff0c;结…

车间移动环保空调降温通风设备

移动环保空调的特点主要体现在以下几个方面&#xff1a; 环保节能&#xff1a;移动环保空调通常采用水冷技术&#xff0c;无需使用化学制冷剂&#xff0c;符合环保要求。同时&#xff0c;其高效节能的设计能有效降低能耗&#xff0c;节约能源。快速降温&#xff1a;移动环保空…

图搜索算法 - 拓扑排序

相关文章&#xff1a; 数据结构–图的概念 图搜索算法 - 深度优先搜索法&#xff08;DFS&#xff09; 图搜索算法 - 广度优先搜索法&#xff08;BFS&#xff09; 拓扑排序 概念 几乎所有的工程都可分为若干个称作活动的子工程&#xff0c;而这些子工程之间&#xff0c;通常受…

UART、TIMER

UART简介&#xff08;通用异步收发器&#xff0c;通常称串口&#xff09; UART&#xff0c;是一种串行、异步、全双工的通信协议&#xff0c;在嵌入式领域应用的非常广泛。 UART作为异步串行通信协议的一种&#xff0c;工作原理是将传输数据的每个二进制位一位接一位地传输。…

JavaScript:正则表达式属于字符串吗-不属于/字符串转正则表达式的两种方法

一、需求描述 js 字符串转正则表达式 二、理解正则表达式属于字符串吗? 正则表达式不属于字符串&#xff0c;它是一种用于匹配、查找和操作文本的模式。正则表达式是一种特殊的语法&#xff0c;用于描述字符串的特征。通过使用正则表达式&#xff0c;可以检查一个字符串是否…

SGP.22-V.3.1-安全2

有任何关于GSMA\IOT\eSIM\RSP\业务应用场景相关的问题&#xff0c;欢迎W: xiangcunge59 一起讨论, 共同进步 (加的时候请注明: 来自CSDN-iot). InitialiseSecureChannel 在 SGP.22 v3.1 技术规范的第 2.5.4.1 节 "Description of InitialiseSecureChannel Block"…

刷题之最爱的城市(卡码网,图论)

最爱的城市 #include<vector> #include<climits> #include<iostream> using namespace std; int path 0; void dfs(vector<vector<int>>& city, vector<bool>& visited, int city2, int startindex, int* result) {if (startinde…

[数据概念|方案实操][最新]数据资产入表4月速递

“ 在各地数据资产变现“热辣滚烫”” 国家数据局全国数据工作会议前后&#xff0c;数据资源“入表”的尝试在各地持续热火朝天地展开&#xff0c;多地实现数据资产入表和利用数据资产进行融资实现“零的突破”。 我们今天就把4月前后的案例做一个小结&#xff0c;之前的案例大…

linux / uboot一些编译调试命令

//声明环境变量 export PATH/home/fmsh/ft/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin:$PATH export CROSS_COMPILEaarch64-linux-gnu- export ARCHarm64 export CCaarch64-linux-gnu-gcc //编译 make xxx_defconfig make menuconfig make -j8 //设置uboot启动参…

自然语言处理(NLP)技术及举例说明

自然语言处理&#xff08;NLP&#xff09;技术是一种人工智能技术&#xff0c;在处理人类自然语言的文本或语音时&#xff0c;可以帮助计算机理解、解释和生成语言。 以下是一些常见的自然语言处理技术的例子&#xff1a; 机器翻译&#xff1a;机器翻译技术可以将一种语言的文…

基于大数据+Hadoop的豆瓣电子图书推荐系统实现

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 系列文章目录 基于大数…

Pascal Content数据集

如果您想使用Pascal Context数据集&#xff0c;请安装Detail&#xff0c;然后运行以下命令将注释转换为正确的格式。 1.安装Detail 进入项目终端 #即 这是在我自己的项目下直接进行克隆操作&#xff1a; git clone https://github.com/zhanghang1989/detail-api.git $PASCAL…