当前位置: 首页 > news >正文

爬虫学习7

基础班app(逆向) 

from Crypto.Cipher import AES
from Crypto.Util.Padding import paddef aes_encrypt(data_string):key = "fd6b639dbcff0c2a1b03b389ec763c4b"iv = "77607a672d57d64c"  # 确保IV是正确的aes = AES.new(key=key.encode('utf-8'), mode=AES.MODE_CBC, iv=iv.encode('utf-8'))raw = pad(data_string.encode('utf-8'), 16)  # 确保数据块大小为16的倍数return aes.encrypt(raw)data = "aadzfalskdjf;lkaj;dkjfa;skdjf;akjsdf;kasd;fjaoqwierijhnlakjdhf"
result = aes_encrypt(data)
print(result)

代码解释:

  1. 导入库:导入Crypto.Cipher.AES用于AES加密,导入Crypto.Util.Padding.pad用于数据填充。
  2. 定义加密函数
    • key:密钥,从字符串转换为UTF-8编码的字节。
    • iv:初始化向量,同样需要转换为字节。
    • AES.new:创建一个新的AES加密对象,指定模式为CBC。
    • pad:确保数据长度是16的倍数,因为AES加密块大小为16字节。
    • aes.encrypt:对填充后的数据进行加密。
  3. 加密数据:调用aes_encrypt函数,传入要加密的数据字符串,打印加密后的结果。

注意事项:

  • 确保您的IV(初始化向量)是正确的,它应该是16字节长。
  • 确保您的密钥长度是正确的,对于AES-128,密钥长度应该是16字节;对于AES-192和AES-256,密钥长度分别是24字节和32字节。

改版

from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
import binasciiKEY = "4E2918885FD98109869D14E0231A0BF4"
KEY = binascii.a2b_hex(KEY)  # 将十六进制字符串转换为字节
IV = "16B17E519DDD0CE5B79D7A63A4DD801C"
IV = binascii.a2b_hex(IV)  # 将十六进制字符串转换为字节def aes_encrypt(data_string):aes = AES.new(key=KEY, mode=AES.MODE_CBC, iv=IV)raw = pad(data_string.encode('utf-8'), 16)  # 确保数据块大小为16的倍数aes_bytes = aes.encrypt(raw)return binascii.b2a_hex(aes_bytes).decode().upper()  # 将加密后的字节转换为十六进制字符串并转为大写data = "878975262 d000035rirv1631615607 mg3c3b04ba 1.3.5|ktjwim89 to920wegpg 4330701 https://w.yangshipin.cn/mozil1a/5.0(macintosh;Mozilla Netscape Macintel"
result = aes_encrypt(data)
print(result)

代码解释:

  1. 导入库:导入Crypto.Cipher.AES用于AES加密,导入Crypto.Util.Padding.pad用于数据填充,导入binascii用于十六进制转换。
  2. 定义密钥和IV
    • KEY:密钥,从十六进制字符串转换为字节。
    • IV:初始化向量,同样需要转换为字节。
  3. 定义加密函数
    • AES.new:创建一个新的AES加密对象,指定模式为CBC。
    • pad:确保数据长度是16的倍数,因为AES加密块大小为16字节。
    • aes.encrypt:对填充后的数据进行加密。
    • binascii.b2a_hex:将加密后的字节转换为十六进制字符串。
    • upper():将十六进制字符串转换为大写。
  4. 加密数据:调用aes_encrypt函数,传入要加密的数据字符串,打印加密后的结果。

 逆向的过程中,如果看到的AES,一定要去找:key、iv

 用无痕模式:
以前你访问过这个平台的话,有一些的cookie会记录下来(模拟第一次访问),内部算法生成的值都会重新计算一遍。

关于参数

参数固定

算法生成

之前的请求返回 

点播播放分析(请求体)

 1.分析playvinfo请求
2.分析guid算法


http://www.mrgr.cn/news/68700.html

相关文章:

  • 【论文复现】基于深度学习的手势识别算法
  • LabVIEW配电产品精度测试系统
  • 【HCIP园区网综合拓扑实验】配置步骤与详解(未施工完,持续更新中)
  • 004-Kotlin界面开发快速入水之TicTacToe
  • 《深入浅出Apache Spark》系列②:Spark SQL原理精髓全解析
  • C++——酒店管理系统
  • 【 AI写作鹅-注册安全分析报告-无验证方式导致安全隐患】
  • Ubuntu20.04离线安装nginx
  • 微积分复习笔记 Calculus Volume 1 - 4.9 Newton’s Method
  • Java字节码增强库ByteBuddy
  • [面试]关于Redis 的持久化你了解吗
  • 孩子厌学怎么办?家长可以这样做
  • sqoop Oracle 导入到hive 日期时间消失
  • 【MySQL】零碎知识点(易忘 / 易错)总结回顾
  • vue3 动态路由+动态组件+缓存应用
  • 代码 RNN原理及手写复现
  • 《FreeRTOS的配置与临界段》
  • 【Linux系统】—— 基本指令(二)
  • 建筑安全员题库分享
  • 免费 CRM 软件推荐:2025年国内外这10款系统值得试
  • 【HarmonyOS】not supported when useNormalizedOHMUrl is not true.
  • Hatcher代数拓扑教材
  • 05 SQL炼金术:深入探索与实战优化
  • 继承(c++)
  • 牛客小白月赛104(未补)
  • QT项目之推箱子