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

微博热搜时光机逆向(js逆向)

首先网络里选择日期,观察出现的包

可以看到文本是一个加密的
在这里插入图片描述
搜索decrypt,随便找一个刷新一下
在这里插入图片描述
加个断点之后,看一下堆栈,往下找
可以看到这里面大致就是加密逻辑
在这里插入图片描述
在这里插入图片描述
扣出来的js代码


var CryptoJS = require('crypto-js');
let s = CryptoJS.SHA1(CryptoJS.enc.Utf8.parse("tSdGtmwh49BcR1irt18mxG41dGsBuGKS"))
          , a = CryptoJS.enc.Hex.parse(s.toString(CryptoJS.enc.Hex).substr(0, 32));
function h(t) {
            let e = (i = t = String(t),
            o = CryptoJS.enc.Base64.parse(i),
            r = a,
            CryptoJS.AES.decrypt({
                ciphertext: o
            }, r, {
                mode: CryptoJS.mode.ECB,
                padding: CryptoJS.pad.Pkcs7
            }).toString(CryptoJS.enc.Utf8));
            var i, o, r;
            return JSON.parse(e)
        }

function main(t){
    return h(t)
}
//源代码处理一遍之后才能进入t,需要对t进行处理

py code

import requests
import execjs
# 发送请求
headers = {
    "accept": "*/*",
    "accept-language": "zh-CN,zh;q=0.9,oc;q=0.8",
    "cache-control": "no-cache",
    "origin": "https://www.weibotop.cn",
    "pragma": "no-cache",
    "priority": "u=1, i",
    "referer": "https://www.weibotop.cn/",
    "sec-ch-ua": "\"Not A(Brand\";v=\"8\", \"Chromium\";v=\"132\", \"Google Chrome\";v=\"132\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\"",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-site",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36"
}
url = "https://api.weibotop.cn/currentitems"
params = {
    "timeid": "B8V2zFYlt3VMPuhu9HARLQ=="
}
response = requests.get(url, headers=headers, params=params)
print(response.text)
try:
    # 将 encoding 改为 'gbk'
    result = execjs.compile(open("时光机.js", 'r', encoding='utf-8').read()).call("main", response.text)
except Exception as e:
    result = "时光机出错了,请稍后再试"
    print(result)
    print(f"错误详情: {e}")


http://www.kler.cn/a/525071.html

相关文章:

  • 将ollama迁移到其他盘(eg:F盘)
  • 架构技能(六):软件设计(下)
  • 四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)
  • 基于 AWS SageMaker 对 DeepSeek-R1-Distilled-Llama-8B 模型的精调与实践
  • docker安装Redis:docker离线安装Redis、docker在线安装Redis、Redis镜像下载、Redis配置、Redis命令
  • 为AI聊天工具添加一个知识系统 之78 详细设计之19 正则表达式 之6
  • 【力扣系列题目】最后一块石头的重量 分割回文串 验证回文串 等差数列划分{最大堆 背包 动态规划}
  • SSM总结
  • SpringBoot项目创建
  • 10.6.4 Json文件操作
  • RocketMQ原理—4.消息读写的性能优化
  • 高速PCB设计指南2——PCB设计的信号完整性
  • 【深度学习】softmax回归
  • Java—工具类类使用
  • 为什么机器学习中梯度下降是减去斜率,而不是按照其数学意义减去斜率的倒数
  • Java教程练习:学生信息管理系统
  • [STM32 - 野火] - - - 固件库学习笔记 - - -十三.高级定时器
  • 【AutoSar】汽车诊断标准协议UDS详解
  • 常见的同态加密算法收集
  • 【最后203篇系列】007 使用APS搭建本地定时任务
  • 1.27补题 回训练营
  • ODP(OBProxy)路由初探
  • 【starrocks学习】之catalog
  • java面试题:10个线程如何按顺序分别输出1-100
  • Airflow:掌握Airflow调度器基本原理
  • LangChain的开发流程