DEV Community

so1
so1

Posted on

We patched Chromium with 49 C++ hooks to beat Cloudflare — here's how BrowserHand works

Body:

Every web scraper hits the same wall: Cloudflare.

You rotate IPs. You spoof headers. You use Playwright's stealth plugin. And Cloudflare still blocks you — because it checks things no JavaScript library can fake: WebGL renderer fingerprint, font enumeration,

audio context, hardware concurrency, Canvas2D image data, WebRTC local IPs, and more.

BrowserHand takes a different approach — C++ hooks at the Chromium binary level.

Instead of patching JavaScript objects at runtime (which Cloudflare can detect), we patched the browser engine itself. 49 hooks across 12 subsystems:

  • GPU: Forced WebGL vendor/renderer strings at the driver layer
  • Fonts: Controlled which system fonts the browser exposes
  • Audio: Faked audio context fingerprint at the OS level
  • Network: Spoofed WebRTC IPs before the JS runtime could read them
  • Canvas: Injected noise into Canvas2D/SVG fingerprinting reads
  • Timing: Normalized JS timer precision to match real hardware profiles

The result: same browser, same IP, same everything — but the fingerprint looks like a real Windows/Chrome user in Dallas, Texas.

After 6 months of production use across 200+ sites:

┌──────────────────────────┬─────────────────────────────┬─────────────────────┐

│ Metric │ Before (Playwright stealth) │ After (BrowserHand) │

├──────────────────────────┼─────────────────────────────┼─────────────────────┤

│ Cloudflare bypass rate │ 34% │ 92% │

├──────────────────────────┼─────────────────────────────┼─────────────────────┤

│ reCAPTCHA v3 pass rate │ 28% │ 87% │

├──────────────────────────┼─────────────────────────────┼─────────────────────┤

│ Average session lifetime │ 12 min │ 4+ hours │

├──────────────────────────┼─────────────────────────────┼─────────────────────┤

│ Detection rate │ 66% flagged │ <8% flagged │

└──────────────────────────┴─────────────────────────────┴─────────────────────┘

It's not a SaaS. It's a Go binary you run locally. No cloud dependency, no logs leaving your machine.

If you're fighting Cloudflare, reCAPTCHA, or any bot detection system — the approach matters more than the tool. Binary-level patching beats JS-level stealth every time.

For implementation details and licensing: 16208204@qq.com

Top comments (0)