關于 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
英文地址,請注明出處:http://en.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框架的強項——它簡化了語言模型的調用、鏈式處理和上下文管理,讓開發…