爬虫JS逆向思路 - - 扣JS(data解密)

news2025/6/2 0:40:18

网络上几千块都学不到的JS逆向思路这里全都有👏🏻👏🏻👏🏻

本系列持续更新中,三连关注不迷路👌🏻  

干货满满不看后悔👍👍👍

注意本文爬虫逆向仅供学习交流使用

📝个人主页→数据挖掘博主ZTLJQ的主页

个人推荐python学习系列:

☄️爬虫JS逆向系列专栏 - 爬虫逆向教学

☄️python系列专栏 - 从零开始学python
 


今天教学的是解决data加密数据

相信各位小伙伴在写爬虫的时候经常会遇到这样的情况 抓取动态数据的时候 data是一串加密数据

如下图

 接下来我将会带领大家一起学习如何解决这样的情况

👉首先我们自然是打开你要爬取的网站 然后打开F12抓包工具 选择XHR 刷新页面

 👉接下来就是找到对应的接口 点击预览

👉预览后发现 encrypt_data是一串加密数据 没有我们想要的数据 那么接下来就是正式的操作了

先全局搜索 encrypt_data 

 👉进入到js文件中以后 再次全局搜索(注意:这里有一个小技巧 遇到这种data加密的数据  就全局搜索 JSON.parse  省去你自己慢慢调试js的时间 

搜索以后会找到 对应加密的函数

 👉打上断点 刷新页面或者切换网页中的下一页 即可

断点断住以后 发现 e就是我们想要的东西

👉接下来 先将 这个function s(e)主函数 复制出来 并且进行一些小的改写 因为a.a是可以不需要的

👉接下来 看里面return的函数结构  发现 a.a.decode就是对e进行加密的函数 然后最外层就是o函数对整个进行处理  那么我们先选中a.a.decode进入这个函数的结构

👉那么我们需要将 这个function(t)整个复制出来 复制到我们的pycharm里面

👉接下来 我们就是需要将最外层的o函数找到 并且复制出来

 👉那么现在主函数需要的参数就是

return JSON.parse(o("5e5062e82f15fe4ca9d24bc5", decode1(e), 0, 0, "012345677890123", 1))

o函数 a.a.decode函数 我们都已经将函数给复制出来了  扣JS的精髓就是 把主要的解密函数  复制出来  里面需要什么参数或者函数 就复制什么函数出来 然后最后运行 主要的解密函数即可

 最后一步就是 把之前浏览的加密参数复制给一个变量  然后执行复制在pycharm中的 function s(e)主函数

👉接下来的 运行这个js 取得的结果就是

这样我们就完成了一次解密data数据的操作  是不是很高大上  快点赞3连吧✔️✔️✔️

       本次的思路就这么多,这个系列会一直更新下去,之后我写的项目或者框架都会更新在这个系列中,希望大家多多支持。

       真诚的希望,这篇文章对大家有用,也希望大家能够学习到爬虫的精髓。✍🏻✍🏻✍🏻

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

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

相关文章

电机过流的一次bug排查记录

一、bug现象描述如下: 有一天,某员工给自己的组件换一个语音模块,其中电机和主板是通过单总线连接,据该员工回忆曾经在换语音芯片时曾将电源线不小心短路过。 电机已经DVT试产,功能和硬件测试已经通过,但是…

小白系列Vite-Vue3-TypeScript:007-配置axios并封装api

上一篇我们介绍了ViteVue3TypeScript项目中Element Plus的安装和配置,本篇我们来介绍一下如何配置axios并封装api。axios是一个基于promise的HTTP库,可以用在浏览器和node.js中,其最大的亮点就是支持了ES6里的Promise Api。废话不多说&#x…

Node =>Express学习

1.Express 能做什么 能快速构建web网站的服务器 或 Api接口的服务期 Web网站服务器,专门对外提供Web网页资源的服务器Api接口服务器:专门对外提供API接口的服务器 2.安装 在项目所处的目录中,运行以下命令,简装到项目中了 npm …

ChatGPT与马斯克 在 “ 遥感 ” 中的初探索

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 1前言 文章开始前&#x…

栈和队列基本原理

栈和队列基本原理1.栈1.1 栈基本原理1.2. 栈操作步骤1.2.1 插入数据流程【压栈】1.2.2 移除数据流程【出栈】1.3. 栈代码实现2.队列2.1 队列基本原理2.2 队列操作步骤2.2.1 插入数据2.2.2 移除数据2.3. 队列代码实现3.栈与队列对比1.栈 1.1 栈基本原理 栈顶【末尾】&#xff…

突破边界:“超融合+”带来的商业化精益之路

相信大家都看了《流浪地球2》,其中人类一次次超越极限,以勇气和责任完成伟大征程的情节让我们深深感动。在现实的科技发展中,我们可能不会像科幻作品那样完成惊险万分地完成突破。但超越极限,却时时刻刻发生在科技产业当中。“超融…

K_A12_002 基于STM32等单片机采集光敏电阻传感器参数串口与OLED0.96双显示

K_A12_002 基于STM32等单片机采集光敏电阻传感器参数串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RC光敏电阻传感器模块1.2、STM32F103C8T6光敏电阻传感器模块五、基…

星河案例 | 冲量在线助力中国电信打造数据要素融通与AI能力开放外拓新范式

2022 年大数据“星河”案例征集活动由中国信息通信研究院、中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织,旨在促进大数据技术产品及相关产业发展,加快培育数据要素市场、充分发挥数据作为生产要素的独特价值,树立行业标杆…

OnGUI Box 控件||Unity 3D OnGUI 常用控件

OnGUI Box 控件Unity 3D Box 控件用于在屏幕上绘制一个图形化的盒子。Box 控件中既可以显示文本内容,也可以绘制图片,或两者同时存在。GUIContent 和 GUIStyle 对于 Box 控件同样适用,既可以用来修饰 Box 控件的文本颜色,也可以用…

第2章 信息系统项目管理基础

项目管理基础 项目的概念 项目是为提供一项独特产品、服务或成果所做的临时性努力。 项目的特点 主要特点(PMI归纳的) 临时性,独特的产品、服务或成果,逐步完善其他特点 资源约束:资源成本是项目成功实施的约束条件之…

预测物联网设备健康状态,你可能需要这套解决方案

1. 应用场景随机振动[注1]会发生在工业物联网的各个场景中,包括产线机组设备的运行、运输设备的移动、试验仪器的运行等等。通过分析采集到的振动信号可以预估设备的疲劳年限、及时知晓设备已发生的异常以及预测未来仪器可能发生的异常等等。本篇教程会提供给有该方…

小白系列Vite-Vue3-TypeScript:008-安装配置mock

上一篇我们介绍了ViteVue3TypeScript项目中axios的安装和配置,并手动封装了api。本篇我们来在上篇基础上介绍如何引入mock,并在本地模拟后台接口请求来达到本地测试的目的。在现在前后端分离的开发模式中,前端页面很多渲染的数据都需要通过ht…

仿真及设计工具下载安装方法详细说明

标题仿真及设计工具下载安装方法详细说明 软件的下载: 物流仿真的软件下载请进入:链接: https://pan.baidu.com/s/12iP3TTkXw-D5DAMu3mQbwQ 提取码: 8888里面放置了所有版本的软件 可以根据自己的使用环境进行选择下载最新版本。软件的安装&#xff1a…

CUDA中的图内存节点

CUDA中的图内存节点 文章目录CUDA中的图内存节点1. 简介2. 支持的架构和版本3. API基础知识3.1. 图节点 APIs3.2. 流捕获3.3. 在分配图之外访问和释放图内存3.4. cudaGraphInstantiateFlagAutoFreeOnLaunch4. 优化内存复用4.1. 解决图中的重用问题4.2. 物理内存管理和共享5. 性…

C. Least Prefix Sum codeforces每日一题

🚀前言 🚀 大家好啊,这里是幸麟 🧩 一名普通的大学牲,最近在学习算法 🧩每日一题的话难度的话是根据博主水平来找的 🧩所以可能难度比较低,以后会慢慢提高难度的 🧩此题标…

ImportError: /lib64/libm.so.6: version `GLIBC_2.23‘ not found问题解决方法

1.环境:Centos7,GCC version 9.1.0,python3.7,TensorFlow1.14.0.因为/usr/lib64/libstdc.so.6: version CXXABI_1.3.8 not found问题,我将GCC版本升级到了9.1.0,但是运行TensorFlow的时候出现了ImportError…

网页CAD开发快速入门

演示说明 提示:目前提供两种在网页中浏览编辑CAD图纸方案,详细说明见:MxDraw帮助 网页中打开CAD最简步骤: 第一步: 安装插件运行环境,下载安装(可能需要退杀毒软件):https://demo.mxdraw3d.com:3562/MxDrawx86Setup…

Python语言零基础入门教程(十一)

Python 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以…

springboot 关闭所有日志,包括起始springboot图标和运行输入日志

关闭所有日志分2部分: 1 关闭运行输出日志 , 2 关闭springboot启动图标 1 关闭运行输出日志 (这里没有使用日志框架设置日志) 在 application.properties 中 添加 logging.level.你自己项目的包名off例如:logging.level.com.example.licenseoff 注:of…

leetcode 2306. Naming a Company(命名公司)

字符串ideas中有一系列的名字,用这些名字给公司命名,命名规则如下: 在ideas中选出2个不同的单词,交换它们的首字母, 交换首字母后的两个单词如果不和ideas中的任一单词相同,那么就可以用它们命名&#xff0…