檔案總覽
📌 抱歉打扰了,继续加强希望达到实用级别再来共 9 樓
主帖mimiphp
🕐 2026-2-16 18:12:07
本帖最后由 mimiphp 于 2026-2-16 19:57 编辑

抱歉打扰了,继续加强希望达到实用级别再来
#? 樓MasterCard
🕐 2026-2-16 19:26:37
本帖最后由 MasterCard 于 2026-2-16 19:44 编辑

直接AI还原效果不够好 我让AI花10秒生成了个babel插件简单处理了下 下面是chatgpt生成的分析报告

下面是去混淆 + 重命名 + 结构整理后的可读版本。逻辑没有改变,只是把变量名还原为有意义的名称,并修复了乱码文本。

✅ 还原后的可读版本

超出loc字数限制了

https://pastebin.com/PzwyyuwR

这套代码目前实现更偏向教学级行为验证示例,在对抗真实自动化环境方面缺少完整性校验、环境一致性检测以及 challenge 绑定机制。如果要用于生产,需要补充环境篡改检测、深度 WebDriver 识别以及 PoW 防重放机制。

一、核心问题分析

1️⃣ 所有逻辑完全可重放

当前逻辑:

risk 计算在前端

pow 在前端

tapProof 在前端

所有字段可篡改

2️⃣ 风险模型太线性

当前 risk 算法:

risk = 基础值

- eventScore * 0.4

- entropy * 0.15

- distance * 0.1

- time * 某比例

+ webdriver * 0.35

问题:

权重固定

可预测

无随机扰动

无多维统计特征

攻击者只需:

模拟鼠标移动

加长时间

控制轨迹

即可把 risk 压到 0.1 以下。

这是典型“静态阈值模型”。

3️⃣ PoW 只是 CPU 限速,不是安全机制

PoW:

无 salt 绑定 IP

无服务器签名

prefix 可预测

可并行

可预计算

而且:

nonce = counter.toString(36)

太简单。

真正的防重放 PoW 需要:

服务器下发 challenge

challenge 内含签名

包含过期时间

包含客户端指纹

否则可直接离线算好。

4️⃣ 完全没有环境完整性检测

这是最明显的缺失。

没有:

原型链污染检测

Function.prototype.toString native 校验

WebDriver 深度检测

headless 特征检测

canvas / audio 指纹

stack trace 检测

DevTools hook 检测

VM 执行环境检测

debugger trap

现在的检测级别是:

navigator.webdriver

这在 2026 年属于玩具级检测。

二、可以给出的专业改进建议

下面这些是“真正 anti-bot 级别”的方向。

1️⃣ 原型链完整性校验

检测是否被 Hook:

function isNative(fn) {

return /\{\s*\[native code\]\s*\}/.test(Function.prototype.toString.call(fn));

}

const checks = [

isNative(window.fetch),

isNative(JSON.stringify),

isNative(Object.getOwnPropertyDescriptor),

isNative(Element.prototype.appendChild),

];

攻击者常用:

重写 fetch

重写 addEventListener

注入 Proxy

可以增加:

Object.getPrototypeOf(fetch) === Function.prototype

2️⃣ 深层 WebDriver 检测

不只是:

navigator.webdriver

还可以:

'chrome' in window

navigator.plugins.length

navigator.languages

permissions.query({name:'notifications'})

检测:

Headless Chrome

Playwright

Puppeteer

Selenium

CDP 注入

3️⃣ Stack Trace 检测

自动化环境常见 stack:

try {

null.f();

} catch (e) {

console.log(e.stack);

}

查找:

puppeteer

playwright

selenium

puppeteer_evaluation_script

at evaluate

4️⃣ 时间抖动检测

自动化通常:

事件间隔极稳定

执行极线性

可以做:

const deltas = [];

// 统计间隔标准差

检测:

是否符合人类随机性

5️⃣ 真正的 PoW 设计建议

改为:

服务器返回:

{

challenge: "...",

expires: 123456,

sig: HMAC(challenge, serverSecret)

}

客户端算:

sha256(challenge + nonce)

服务器验证:

签名是否正确

是否过期

是否重复

否则现在这个 PoW 可以被重放。

6️⃣ VM / DevTools 检测

可以加入:

debugger timing trap

const t = performance.now();

debugger;

if (performance.now() - t > 100) suspicious++;

Console hook 检测

const original = console.log;

console.log = function(){};

if (!isNative(original)) suspicious++;

7️⃣ VM 混淆建议

当前代码:

完全可读

结构明显

没有自校验

可以加入:

字符串数组动态解码

控制流平坦化

死代码混淆

runtime integrity hash

自毁机制

例如:

if (sha256Hex(sourceCode) !== expected) {

throw new Error("tampered");

}

8️⃣ 行为模型升级建议

可以加入:

曲率统计

轨迹方向变化率

鼠标加速度

scroll inertia

点击前 hover 时间

键盘节奏统计

现在的:

distance + entropy

太基础。

总结

这套代码的问题:

维度 等级

行为采集 入门级

风险模型 线性可预测

PoW 可重放

环境检测 几乎没有

抗自动化 极弱

抗 hook 无

如果你愿意,我可以帮你写一份:

✅ 进阶版 anti-bot 结构设计图

✅ 带完整性检测的强化版客户端框架

✅ 生产级 challenge + PoW 协议设计
#? 樓MasterCard
🕐 2026-2-16 19:48:56
另外需要各种破盾协议的老板看我签名
#? 樓mimiphp
🕐 2026-2-16 20:12:38
MasterCard 发表于 2026-2-16 19:48

另外需要各种破盾协议的老板看我签名
#? 樓MasterCard
🕐 2026-2-16 20:19:03
本帖最后由 MasterCard 于 2026-2-16 20:22 编辑

mimiphp 发表于 2026-2-16 20:12

再重构中,没事的,我已经找到AI代理模式。。我自己慢慢跟它攻防耗下去
#? 樓mimiphp
🕐 2026-2-16 20:27:44
MasterCard 发表于 2026-2-16 20:19

我卖了一年多最难的几个盾的破盾协议,可以告诉你antibot难点从来不在检测,难点在收集足够多高质量用户 ...
#? 樓奧巴马
🕐 2026-2-16 20:33:29
https://github.com/pysunday/sdenv-jsdom

我用这个补环境(执行并拦截fetch发送给PY)+TLS指纹伪造(py实现发送), 能过大部分自动验证的WAF.

那个需要拖和点的需要逆向或者找打码平台都90% WAF都能过. 不能过那些经测试是对IP有高要求.请求多了后整个IP段会被拉入黑名单.
#? 樓mimiphp
🕐 2026-2-16 20:36:48
奧巴马 发表于 2026-2-16 20:33

https://github.com/pysunday/sdenv-jsdom

我用这个补环境(执行并拦截fetch发送给PY)+TLS指纹伪造(py实现 ...
#? 樓mimiphp
🕐 2026-2-16 20:49:25
MasterCard 发表于 2026-2-16 20:19

我卖了一年多最难的几个盾的破盾协议,可以告诉你antibot难点从来不在检测,难点在收集足够多高质量用户 ...