python爬虫AES魔改案例:某音乐素材下载网

声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关

一、找出需要加密的参数
  1. js运行 atob(‘aHR0cHM6Ly93d3cuYWlnZWkuY29tL3NvdW5kL2NsYXNzLw==’) 拿到网址,F12打开调试工具,点击任意导航发送请求,找到 gei-common/jsonComp/f/awd/log.json 请求
  2. 分析请求头、参数、响应结果会发现响应结果 b 加密
    在这里插入图片描述
  3. 鼠标右击请求找到Copy>Copy as cUrl(bash),打开网站:https://spidertools.cn/#/curl2Request,把拷贝好的curl转成python代码,新建 aigei.py,把代码复制到该文件,
    在这里插入图片描述
  4. 把header、cookie注释,运行文件 aigei.py,会发现可以请求成功,说明heaer、cookie中不包含加密参数
    在这里插入图片描述
  5. 新建 aigei.js 文件,用于放扣下的代码
二、定位参数加密位置
  1. 切换到sources,添加XHR拦截common/jsonComp/f/awd/log.json
    在这里插入图片描述
  2. 点击任意导航发送请求,一直点击跳到下一个函数,看见 ajax 函数中的 success 打上断点
    在这里插入图片描述
  3. 结束此次调试,点击任意导航发送请求,一直点击跳过断点,当看到 success 断点,并且有 b 加密数据过来,说明解密是在此处解密,分析代码会发现是经过 ajaxSuccJson 方法处理的,而 ajaxSuccJson 方法 就在下方,在 ajaxSuccJson 方法内部打上断点,点击跳过断点,进入ajaxSuccJson方法内部,会发现是经过 c(b) 解密的,鼠标悬浮到 c 方法上,点击蓝色部分找到该方法,并在方法内部的 if 、else都打上断点,点击跳过断点,会发现断点进入 esle 内部,点击跳过函数调用,会发现 u 是解密成功的明文数据,把 else 内部的代码复制到 aigei.js
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
三、分析解密代码,扣代码
  1. 看代码会发现 r、n、new AudioWaveParam、u = (new llii1i1iill).ilil111lii(u)、u = ili11liii(u, “il1looOo”) 是需要分析的,把 r 打印在控制台上可以看出r响应结果,分析代码得知 n 对应的是请求参数中的 w,把请求参数复制到 aigei.js,把 r 复制后,从请求中复制 b 的返回结果修改 r 中 b 的值
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 鼠标悬浮到 new AudioWaveParam,点击蓝色部分找到该代码位置,把该代码复制到 aigei.js
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 鼠标悬浮到 (new llii1i1iill).ilil111lii,点击蓝色部分找到该代码位置,会看到 this.ilil111lii ,this.ilil111lii 是在 llii1i1iill 方法内部,把 llii1i1iill 方法复制到 aigei.js
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 鼠标悬浮到 ili11liii,点击蓝色部分找到该代码位置,会看到 ili11liii 方法,会发现代码内部有个 GeiJS,在代码内部打上断点,并把 ili11liii 方法复制到 aigei.js,
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
  5. Ctrl+F,在文件内搜索 GeiJS 会找到赋值的地方,找到 GeiJS 第一次出现的地方,新建 GeiJS.js 把代码全部拷贝到 GeiJS.js,GeiJS 就属于魔改后的算法
    在这里插入图片描述
  6. 导入GeiJS.js,运行 js 后,数据解密成功,main 后面两行代码注释,是因为这两行代码是用来创建播放器对象的
    在这里插入图片描述
    在这里插入图片描述
四、验证结果
  1. 点击任意导航发送请求,点击跳过断点,直到看到 G=24 循环完毕,打印出 u 的值
    在这里插入图片描述
  2. 修改 aigei.py,运行成功后,数据 b 解码成功,复制刚才请求中的参数,对比 b 的值是相同的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

二.运算符

运算符 1.算术运算符2.比较运算符3.逻辑运算符 1.算术运算符 算数运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行 - * / 和 取模%运算 1.加减法运算符 mysql> SELECT 100,100 0,100 - 0,100 50,100 50 - …

制作一个RISC-V的操作系统一-计算机系统漫游

文章目录 计算机的硬件组成两种架构程序的存储与执行程序语言的设计和进化一个mini计算机 编程语言的进化存储设备的层次结构操作系统 计算机的硬件组成 所有硬件由总线连接起来 两种架构 总线个数不同,Memory储存内容不同 程序的存储与执行 首先编译和链接某…

windows11 调整鼠标灵敏度方法

首先 我们打开电脑设置 或者在 此电脑/此计算机/我的电脑 右击选择属性 然后 有的电脑 左侧菜单中 直接就有 设备 然后在设备中直接就可以找到 鼠标 选项 调整光标速度即可 如果操作系统和我的一样 可以直接搜索鼠标 然后 选择 鼠标设置 然后 调整上面的鼠标指针速度即可

【Rust日报】2023-12-02 深度学习框架 Burn 发布 v0.11.0

深度学习框架 Burn 发布 v0.11.0 深度学习框架 Burn 发布 v0.11.0,新版本引入了自动内核融合(Kernel Fusion)功能,大大提升了访存密集型(memory-bound)操作的性能。同时宣布成立 Tracel AI (https://tracel…

安装错误_ImportError: cannot import name ‘XXX‘循环引用 绕晕TT(deepsolo)

这里写目录标题 error: Couldnt find a setup script in /tmp/easy_install-lfpvj6p4/scikit_image-0.22.0.tar.gzpip install -v -e . 和 python setup.py develop功能一样吗AttributeError: module ‘PIL.Image’ has no attribute ‘LINEAR’ImportError: cannot import nam…

【算法】前后缀分解题单⭐

文章目录 题单来源题目列表42. 接雨水238. 除自身以外数组的乘积2256. 最小平均差2483. 商店的最少代价代码1——前后缀数组代码2—— O ( 1 ) O(1) O(1)空间🐂 2420. 找到所有好下标2167. 移除所有载有违禁货物车厢所需的最少时间代码1——前后缀分解代码2——简洁…

3.4_1 java自制小工具 - pdf批量转图片

相关链接 目录参考文章:pdf转图片(apache pdfbox)参考文章:GUI界面-awt参考文章:jar包转exe(exe4j)参考文章:IDEA导入GIT项目参考文章:IDEA中使用Gitee管理代码gitee项目链接:pdf_2_image网盘地址&#xf…

基于CW32F030单片机的便携式多功能测试笔

一、产品背景 在日常的硬件调试工作中,我们最常使用的仪器仪表可能就是万用表了,虽然万用表号称“万用”,但大部分时候,我们需要使用到的功能无非是电压测量和通断测量。 作为调试的“得力干将”,万用表有时候也会存…

华为手环配置技巧

前言 华为手环作为生活健康辅助设备发挥不可忽视的作用,但每次更换手环后需要重新配置。华为手环不仅有健康监测、消息通知、天气推送、离线支付、公交卡、运动锻炼、等功能,还有倒计时、计时器、手电筒、闹钟、等小工具。下文介绍如何进行配置。 配置…

【富文本编辑器】原生JS使用WangEditor和vue上传图片前后端demo

【富文本编辑器】原生JS使用WangEditor上传图片前后端demo 第一步 HTML 第二步 初始化WangEditor与图片上传回调函数 第三步 后端返回数据体封装 第四步 后端接口上传图片,并返回图片地址 最近,我遇到了这样一个问题:因为我们的项目是基于…

什么是跨站脚本攻击

跨站脚本攻击 1. 定义2. 跨站脚本攻击如何工作3. 跨站脚本攻击类型4. 如何防止跨站脚本攻击 1. 定义 跨站脚本攻击(Cross-site Scripting,通常称为XSS),是一种典型的Web程序漏洞利用攻击,在线论坛、博客、留言板等共享…

分页助手入门以及小bug,报sql语法错误

导入坐标 5版本以上的分页助手 可以不用手动指定数据库语言&#xff0c;它会自动识别 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.3.2</version> </dependency&g…

从 Elasticsearch 到 SelectDB,观测云实现日志存储与分析的 10 倍性价比提升

作者&#xff1a;观测云 CEO 蒋烁淼 & 飞轮科技技术团队 在云计算逐渐成熟的当下&#xff0c;越来越多的企业开始将业务迁移到云端&#xff0c;传统的监控和故障排查方法已经无法满足企业的需求。在可观测理念逐渐深入人心的当下&#xff0c;人们越来越意识到通过多层次、…

[C/C++]数据结构 关于二叉树的OJ题(利用分治思想解决难题)

题目一: 单值二叉树 &#x1f6a9;⛲&#x1f31f;⚡&#x1f966;&#x1f4ac; &#x1f6a9;题目链接:力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 ⛲题目描述: 如果二叉树每个节点都具有相同的值&#xff0c;那么该二叉树就是单值二叉树。…

vivado实现分析与收敛技巧7-布局规划

关于布局规划 布局规划有助于设计满足时序要求。当设计难以始终如一满足时序要求或者从未满足时序要求时 &#xff0c; AMD 建议您执行布局规划。如果您与设计团队协作并且协作过程中一致性至关重要&#xff0c; 那么布局规划同样可以发挥作用。布局规划可通过减少平均布线延…

锁表的原因及解决办法

引言 作为开发人员&#xff0c;我们经常会和数据库打交道。 当我们对数据库进行修改操作的时候&#xff0c;例如添加字段&#xff0c;更新记录等&#xff0c;没有正确评估该表在这一时刻的使用频率&#xff0c;直接进行修改&#xff0c;致使修改操作长时间无法响应&#xff0…

Spring Boot Actuator 2.2.5 基本使用

1. pom文件 &#xff0c;添加 Actuator 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> 2.application.properties 文件中添加以下配置 …

自动驾驶学习笔记(十三)——感知基础

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo Beta宣讲和线下沙龙》免费报名—>传送门 文章目录 前言 传感器 测距原理 坐标系 标定 同…

基于Java SSM框架+Vue实现企业公寓后勤管理系统项目【项目源码+论文说明】

基于java的SSM框架Vue实现企业宿舍后勤管理网站演示 摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所…

Linux系统-----进程通讯

前言 本期我们来学习进程间的通讯&#xff0c;不同进程之间是可以去通过信号来去实现通讯交流的&#xff0c;下面我们就一起来看看多进程之间的通讯方式。 一、信号机制 1、信号的基本概念 每个信号都对应一个正整数常量(称为signal number,即信号编号。定义在系统头文件<…