Files
reverse-skills-max/vendor-new/xbsReverseSkill/web-reverse-env/references/06-validation.md

53 lines
932 B
Markdown

# 验证与回归
补环境完成后,不要只看“脚本不报错”,至少做下面几类验证。
## 1. 结构验证
- `instanceof`
- `Object.getPrototypeOf`
- `constructor`
- `Symbol.toStringTag`
- `getOwnPropertyDescriptor`
- `ownKeys`
## 2. native 验证
- `fn.toString()`
- `fn.toString.toString()`
- getter / setter `toString`
- `name`
- `length`
## 3. 运行验证
- 同一路径第二次访问是否仍为 `undefined`
- 是否还抛 `Illegal invocation`
- 是否还抛 `TypeError`
- 是否还暴露 Node 栈
## 4. 指纹验证
- `canvas`
- `WebGL`
- `battery`
- `screen/window` 一致性
- `AudioContext`
- `WebRTC`
## 5. 替代路线判断
如果补到以下阶段仍然成本过高,考虑切换路线:
- `document.all`
- `Worker`
- `WebRTC`
- `AudioContext`
- `Math` 精度
可切换为:
- 真浏览器内执行
- `JsRpc`
- `WebSocket` 回传