English · 中文
This guide explains how anti-DevTools scripts (especially disable-devtool and site-specific bundles) detect open DevTools, how to confirm fingerprints from live pages, and how DevTools Unlock counters those paths.
The full lecture-style notes (case study, matrix A–U, talk outline) live in the Chinese version. This English page summarizes the same architecture for open-source readers.
Typical punishment when DevTools opens:
documentElement.innerHTML wipelocation.reload / 404 redirect (often disable-devtool demo URLs)history.back / window.closef3w5S8C)scripts-*.js).disable-devtool, ondevtoolopen, isDevToolOpened, devtoolsFormatters, Function('debugger'), sessionStorage + devtool.analysis/ (not shipped in the Web Store zip).See also analysis/README.md.
document_startIsolated content scripts cannot patch page window APIs that anti-debug libraries use. Unlock registers with:
world: 'MAIN'runAt: 'document_start'allFrames: true for whitelisted hostnamesso hooks run before business scripts.
| Area | Purpose |
|---|---|
| Timer filters | Skip disable-devtool / detector polls |
Function('debugger') |
Neutralize timing probes |
console / toString masks |
Reduce Performance / FuncToString / DateToString signals without rewriting arbitrary page function.toString() (players may use source as decrypt keys) |
| Navigation / DOM guards | Block wipe + known redirect / reload / history.back |
devtoolsFormatters |
Strip Custom Formatter probe headers |
sessionStorage.devtool |
Clear and block sticky “already detected” flags |
devtoolsDetector |
Take over AEPKILL API used by some players (e.g. MegaPlay e1-player) |
| DisableDevtool API trap | Noop common global aliases |
hostGroups.Details: README.md, PRIVACY.md.
toString keys)Libraries such as MegaPlay client.js / e1-player decrypt string tables using someFn.toString() as a key. Rewriting every function’s toString to [native code] breaks bootstrap (tampered / qjOP undefined). Unlock only disguises hooked APIs, not arbitrary page functions.
This project restores DevTools for legitimate debugging and research. Do not use it to bypass paywalls, DRM, or other unlawful restrictions.