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

关于 pdd:anti_content参数分析与逆向

一、逆向目标

  • 目标:获取pdd商品列表接口数据
  • 网址:aHR0cHM6Ly93d3cucGluZHVvZHVvLmNvbS9ob21lL2hvbWUv

二、逆向步骤

2.1 anti_content 入口定位

>1 找到需加密参数

>2 全局搜索定位

这里只出来一个结果,很明显,点进去。

>3 分析出加密点

分析出Object(x.a)()是个Promise对象可在控制台进行测试得出加密位置

重新打上断点刷新接口

>4 进入源代码

继续进入函数 r.messagePackSync

根据函数返回值情况 结合控制台分析 进入 ue

可知 只要 ue函数能够被正常调用 参数anti_content 就可以逆向出来

2.2 webpack模块加载加补环境

复制粘贴代码分析,需要调用的 ue函数在双层webpack模块自执行函数里面

可知 需要找到外层大的webpack加载器调用fbeZ,调用之后,可以正常执行箭头所指 i ,i 正常执行之后,i 中第二层webpack加载器调用 function(e, n, r) ,最终可拿 ue函数所执行需要的结果参数 anti_content。

> 全局搜索fbeZ

虽然出来很多个值但通过网页刷新与断点调试结合可知箭头所指正确位置 进入 调用js文件 很容易分析出调度器标准逻辑。

>1 新建 _4loader.js代码文件 保存下面箭头js文件

>2 新建 _2mod1.js代码文件 保存下面箭头js文件

>3 新建 _3mod2.js代码文件 保存下面箭头js文件

>4 新建_1env.js代码文件

分析这个网页需要如下环境代码

window = global;delete global;
delete Buffer;document = {addEventListener: function () {},cookie: '_nano_fp=XpmyX0Eyn0EJXpTon9_ryk2GUF8jzVuDLOQX7_CH; api_uid=U84pHWhY3vxUeUAesdvjAg=='
}screen = {availWidth: 1707,availHeight: 1019
}navigator = {appCodeName: "Mozilla",appName: "Netscape",appVersion: "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36",webdriver: false,userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'
}history = {back: function () {}}location = {"ancestorOrigins": {},"href": "https://www.pinduoduo.com/home/home/","origin": "https://www.pinduoduo.com","protocol": "https:","host": "www.pinduoduo.com","hostname": "www.pinduoduo.com","port": "","pathname": "/home/home/","search": "","hash": ""
}

>5 以上4个文件创建完毕 以下代码执行才不会出错

加上这行代码

在  _2mod1.js 加上两行代码

require("./_1env")
require("./_2mod1")
require("./_3mod2")
require("./_4loader")function get_anti_content() {// 初始化window.loader("fbeZ")// 更新操作 分析上图最后一处函数需要加上这行代码 它在网页有执行复制粘贴至本地没有执行//          所以加上下面这行代码解决window.se['updateServerTime'](new Date().getTime())// 调用uereturn window.ue()
}console.log(get_anti_content())

输出结果:

2.3 python代码

import requests
import execjsheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36',}anti_content = execjs.compile(open("_pdd.js").read()).call("get_anti_content")
print(anti_content)params = {'tf_id': 'TFRQ0v00000Y_13400','page': '1','size': '39',# 'anti_content': '0aqAfa5e-wCEXxjdXUSt_USOOG7GxNhyxhPqgHKqTmZhApN7QjX3nad4X6CtkSyqzgyrjij0jUpPoX5T8X09qnpdYH0danq7dnqdoXqXYO0TLl92SAPbdeGM2XIXxcGDDpZthfiNLHxm8P_id8y02TYoSB-bbm7t3Zst2CkL2FEto9sqgxHs_IXp0Tv69HtmFG0dblNXYhYpE8niEqns0_NQdfNW7Tdm5tqda7mdblqNqdvM0ltT9Jx2tSo9gBsJX_YatfX1fEB5EZ48XSP9iWtQ9n7IJZ4UQoNx3ZZx-o5iy98ZLx1HsP763394QnJeJNlSFvld4PTTHDfRCHUTZyX45q4XxtnxxK4dYXudJOpxIPmYjyOvqfcEboRR3zA2wmE9QYDuFvU2o4A3','anti_content': anti_content
}res = requests.get('对应api url', params=params, headers=headers)print(res.text)

2.4 生成结果

成功。

http://www.lqws.cn/news/496225.html

相关文章:

  • 前端面试记录
  • Flask框架index.html里引用的本地的js和css或者图片
  • C#采集电脑硬件(CPU、GPU、硬盘、内存等)温度和使用状况
  • 深入理解PHP中的生成器(Generators)
  • 新高考需求之一
  • 【GNSS定位算法】Chapter.2 导航定位算法软件学习——Ginav(二)SPP算法 [2025年6月]
  • 系统规划与管理师(第2版)第9章思维导图发布
  • Java面试核心考点复习指南
  • 智能交通中的深度学习应用:从理论到实践
  • 深入解析 Windows 文件查找命令(dir、gci)
  • 在cursor中,配置jdk和maven环境,安装拓展插件
  • AngularJS
  • 【笔记】在Cygwin上使用mintty连接wsl
  • 【软考高级系统架构论文】论企业集成架构设计及应用
  • 海拔案例分享-门店业绩管理小程序
  • 【ARM 嵌入式 编译系列 7.4 -- GCC 链接脚本中 ASSERT 函数】
  • 如何利用Charles抓包工具提升API调试与性能优化
  • QT6(46)5.2 QStringListModel 和 QListView :列表的模型与视图的界面搭建与源代码实现
  • Netty内存池分层设计架构
  • 本地文件深度交互新玩法:Obsidian Copilot的深度开发
  • 【streamlit 组件样式定位与修改】
  • 数字孪生:为UI前端设计带来沉浸式交互新体验
  • 【2025CVPR】基于脉冲神经网络的能效目标检测模型:Multi-scale Spiking Detector(MSD)深度解析
  • PillarNet: Real-Time and High-PerformancePillar-based 3D Object Detection
  • 稳定币走向监管:新秩序下的数字货币新局
  • Redis集群性能优化实战指南
  • 96道Docker 容器高频题整理(附答案背诵版)
  • 设计模式 - 工厂方法
  • 在AI时代看清糖网:糖尿病视网膜病变筛查的转型之路
  • CARLsim开源程序 是一个高效、易用、GPU 加速的软件框架,用于模拟具有高度生物细节的大规模脉冲神经网络 (SNN) 模型。