关于 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.pswp.cn/bicheng/86535.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86535.shtml

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

相关文章

限流系列之五:TDMQ RabbitMQ Serverless 版限流机制深度解析与实践指南

导语 分布式集群限流是保障云服务高可用性的核心技术手段,其意义不仅在于防止系统过载,更是构建弹性架构、优化资源效率、实现业务可持续性的关键策略。未来,随着边缘计算和 Serverless 的普及,限流技术将进一步与底层基础设施深…

官方链接内容整理的 Spark-TTS Windows 安装完整流程

官方链接内容整理的 Spark-TTS Windows 语音克隆 安装完整流程 官方链接内容整理的 Spark-TTS Windows 安装完整流程: Spark TTS:基于大型语言模型的文本转语音模型 Spark-TTS 是一个先进的文本转语音系统,利用大型语言模型(LLM…

Spring Cloud Config动态刷新实战指南

以下是利用 Spring Cloud Config + Bus 实现配置动态刷新的完整步骤和原理说明: 一、核心原理 消息总线机制 Bus 通过消息代理(如 RabbitMQ/Kafka)建立公共 Topic(默认 springCloudBus),当配置变更时,任一服务触发刷新请求,消息会广播至所有监听该 Topic 的服务实例,实…

Linux 修改密码教程

Linux 修改密码教程 Linux 系统中修改密码是非常常见的管理操作,无论是修改当前用户密码还是其他用户的密码,通常都可以通过终端完成。本文将详细介绍如何在 Linux 系统中修改密码,并包括修改其他用户密码的方法。 1. 修改当前用户密码 修改…

正则表达式详解:从基础到高级应用的全面指南

文章大纲 引言:什么是正则表达式? 在编程和文本处理领域,正则表达式(Regular Expression,简称 regex)是一种强大的工具,用于描述和匹配文本中的特定模式。它本质上是一种由字符和特殊符号组成…

flutter结合ai工具(其他语言通用)

一、为什么Flutter开发者需要免费AI工具? 1. 减少重复性编码 Flutter开发中,UI组件、网络请求、状态管理等代码高度重复,AI可自动生成这些代码。 示例:输入"创建一个Material Design风格的登录页面",AI工具…

鸿蒙容器组件 Row 全解析:水平布局技术与多端适配指南

一、引言:Row 组件 —— 水平布局的核心引擎 在鸿蒙全场景应用开发中,Row 容器组件作为水平布局的标准载体,通过声明式语法实现子组件的有序水平排列。作为线性布局体系的重要组成部分,其简洁的属性体系与强大的适配能力&#xf…

基于 PCIe 架构的处理器系统

处理器系统A 在有些处理器系统中,没有直接提供PCI总线,此时需要使用PCIe桥,将PCIe链路转换为PCI总线之后,才能连接PCI设备 在这种结构中,RC由两个FSB-to-PCIe桥和存储器控制器组成。 FSB是Front Side Bus的缩写&…

Qt 与 Halcon 联合开发五:为何与如何将耗时算法移入子线程

在 Qt 应用程序开发中,界面响应速度直接影响用户体验。而在集成图像处理库如 Halcon 的项目中,耗时算法一旦运行于主线程中,极易造成界面卡顿甚至假死。本篇文章将围绕耗时算法必须移入子线程执行这一核心原则,结合 Qt 与 Halcon …

聚焦OpenVINO与OpenCV颜色通道转换的实践指南

颜色通道顺序问题:OpenVINO模型RGB输入与OpenCV BGR格式的转换 在计算机视觉任务中,框架间的颜色通道差异常导致模型推理错误。以下方法解决OpenVINO模型需要RGB输入而OpenCV默认输出BGR的问题。 理解核心差异 OpenCV的imread()函数遵循BGR通道顺序&a…

【软考高级系统架构论文】论企业集成平台的理解与应用

论文真题 企业集成平台 (Enterprise Integration Platform, EIP) 是支持企业信息集成的环境,其主要功能是为企业中的数据、系统和应用等多种对象的协同运行提供各种公共服务及运行时的支撑环境。企业集成平台能够根据业务模型的变化快速地进行信息系统的配置和调整,保证不同…

LabVIEW光谱仪设计

采用LabVIEW 开发平台,搭配品牌硬件构建光谱仪系统,实现光谱数据的高效采集、分析与显示,展现 LabVIEW 在仪器开发中的快速集成与灵活扩展能力。 ​ 应用场景 科研领域:用于材料光谱特性研究、光学实验数据分析,支持高…

Nginx配置文件介绍和基本使用

Nginx配置文件介绍和基本使用 Nginx 是一款高性能的 HTTP 服务器、反向代理服务器及电子邮件代理服务器,由俄罗斯工程师 Igor Sysoev 开发,并于2004年首次公开发布。以轻量级、高并发能力、稳定性和低资源消耗著称。 主要功能 HTTP服务器:…

DataSophon 1.2.1集成Flink 1.20并增加JMX 监控

参考:datasophon集成Flink1.20.0 此大神有多篇集成其他服务的文章,建议关注一波 一、服务集成 flink 1.20 下载 1.构建压缩包: 1.1拷贝需要的包 tar -zxvf flink-1.20.0-bin-scala_2.12.tgz tar czf flink-1.20.0.tar.gz flink-1.20.0# 为了flink cdc…

RSYNC+IONTIFY数据实时同步

一、RSYNC简介 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 二、rsync特性 rsync支持很多特性: 可以镜像保存整个目录树和文件系统可以很容易做到保持…

吉林大学软件工程期末复习整理

概述 22级软件工程考试细节及复习相关问题见下面这篇帖子,作者自己复刻了一版真题 吉林大学软件工程2025年期末真题(回忆复刻版)-CSDN博客 下面是作者复习时整理的笔记,放到csdn之后序号排版稍微有点乱 21级考试情况可以参考学…

chili3d笔记23 正交投影3d重建笔记4 点到线2

从俯视图到主视图就这两条线有问题,比想象的效果好 原图 两条斜线变成了4条横线 经典少一根线 好了但是不知道为什么好了 import { Logger, PubSub } from "chili-core"; import DxfParser, { ILineEntity } from dxf-parser; class Cluster {lines: [num…

LDO的自放电功能

LDO(低压差线性稳压器)的自放电功能(Discharge Function 或 Active Discharge)是一种在关闭输出时主动释放输出端残留电荷的机制。以下是其关键点: 1. 自放电功能的作用 快速放电:当LDO被禁用(如…

Ingress-Nginx简介和配置样例

Ingress-Nginx 是 Kubernetes 中一个基于 Nginx 的 Ingress 控制器,用于管理对集群内服务的 HTTP/HTTPS 访问。它是 Kubernetes Ingress 资源的实现之一,通过配置 Nginx 反向代理和负载均衡器,提供路由规则、SSL/TLS 终止、路径重写等高级功能…

Java+LangChain实战入门:深度剖析开发大语言模型应用!

在人工智能飞速发展的今天,大语言模型(如GPT系列)正改变着我们构建应用的方式。但如何将这些先进模型无缝集成到企业级Java应用中?这正是LangChain框架的强项——它简化了语言模型的调用、链式处理和上下文管理,让开发…