warterbili/PerimeterX_RE
GitHub: warterbili/PerimeterX_RE
对PerimeterX反爬SDK的完整逆向工程,实现无需浏览器的纯算法_px3/_px2生成器,并提供详尽的文档与AI辅助工具。
Stars: 71 | Forks: 17
# PerimeterX / HUMAN Security — SDK 逆向工程
**纯算法重构 PerimeterX 的 `_px3` / `_px2` cookie 链——无需浏览器,无需自动化框架。**
[](#)
[](stample/ifood/)
[](stample/grub/)
[](stample/totalwine/)
[](stample/academy/)
[](stample/walmart/)
[](#license)
[中文](README.zh.md) · [快速开始](#quick-start) · [工作原理](#how-it-works) · [文档](#documentation) · [AI Skill](skill/AI_re/) · [License](#license)
## 功能说明
- **重构静默采集器流程** — EV1/EV2/EV3 sensor payload → 采集器 POST 链 → `_pxN`,无需 headless 浏览器。
- **9 个可复用的加密/编码原语** ([`revers/`](revers/)) — payload XOR/base64/interleave、PC (HMAC-MD5)、OB decode、SID stego、UUID v1、djb2、memory、anti-tamper、`/ns`。
- **模板方法论** — 捕获 6 个真实批次,锁定 STATIC 字段,从 SDK 逆向 DYNAMIC 字段。约 90% 的代码可跨站点移植;只有常量和少数 b64 密钥不同。
- **三个部署层级** — 同一个 SDK 在不同客户处有不同的配置;本项目记录了 lenient → strict → strict+ 的区别,以及每个额外的服务端检查所需的要求。
## 已验证站点
| 站点 | 层级 | Cookie | 链路 | 结果 |
|---|---|---|---|---|
| [ifood.com.br](stample/ifood/) | lenient | `_px3` (ttl 330) | 2-POST | **10/10** |
| [grubhub.com](stample/grub/) | lenient | `_px2` (ttl 500) | 2-POST | **10/10** |
| [walmart.com](stample/walmart/) | lenient | `_px3` (ttl 330) | 2-POST | **10/10** ² |
| [totalwine.com](stample/totalwine/) | **strict** | `_px2` (ttl 330) | 3-POST + EV3 | **10/10** |
| [academy.com](stample/academy/) | **strict+** | `_px3` (ttl 330) | 3-POST + TLS/IP 绑定信任 | **10/10** ¹ |
所有常量均直接提取自真实的 POST-body 捕获(每个公开站点有 6 个可审计的批次)。
¹ academy 是一个 strict+ 案例(其信任绑定至生成器的 TLS 指纹、`/ns` token、真实 Chrome 模板以及出口 IP 信誉);其生成器包保持私有。层级方法论已在 [AI skill](skill/AI_re/references/deployment-tiers.md) 中记录。
² walmart **仅限 PX 层** —— 该站点的主要拦截机制是 **Akamai Bot Manager**,而 PerimeterX 作为次要层。`_px3` 可被 PX 采集器接受 (10/10),但**无法**通过 Walmart 的业务 API(Akamai `_abck`/`bm_sv` 超出了本 skill 的范围)。此处将其作为清晰的 lenient + 跨事件一致性参考案例纳入。
## 快速开始
```
git clone https://github.com/warterbili/PerimeterX_RE.git
cd PerimeterX_RE && npm install
# iFood — 生成 _px3(宽松层级,按原样运行)
node stample/ifood/px_cookie/ifood_px3.js
# → ✅ _px3=eyJ1IjoiYWJj… ttl=330 ev1=14 ev2=204
# Grubhub — 生成 _px2
node stample/grub/px_cookie/grubhub_px2.js
# Walmart — 生成 _px3(宽松层级;仅限 PX-layer,需要美国出口 IP)
node stample/walmart/px_cookie/walmart_px3.js
# → ✅ _px3=a2426f96… ttl=330 ev1=12 ev2=207
# ⚠️ 仅限 PX-layer:Walmart 的业务 API 受 Akamai 保护(不在范围内)。
# PX 成功差异验证:node stample/walmart/script/px_success_proof.js
# Total Wine — 生成 _px2(严格层级,3-POST;需要美国住宅代理)
HTTPS_PROXY=http://user:pass@host:port node stample/totalwine/px_cookie/totalwine_px2.js
# → _px2=… ttl=330 ev1=13 ev2=199 ev3=11 seq2=200
# 端到端业务调用(需要代理)— cookie → 真实的受限 HTML
#### node stample/totalwine/px_cookie/business_api_demo.js
Each `stample/v2.0 · research artifact · back to top
```
标签:WASM, 云资产清单, 加密算法, 反爬虫, 绕过, 自定义脚本, 逆向工程