Writing
Notes from my work on browser security, automation, reverse engineering, and web development.
rssGoogle TV volume popup workaround
Chromecast passthrough Toast traced to com.droidlogic AudioSystemCmdService, stopped with encoded_surround_output PCM setting, verified across reboot.· 4 min readFix Vivaldi sidebars staying open after switching windows
An experimental local patch for stuck auto-hide sidebars in macOS Vivaldi 8.2.4133.52, with bundle checks, a backup, and restoration.· 3 min readFix missing Gmail notifications on Android
A practical checklist for restoring Gmail alerts on Android, including notification channels, sound settings, Gmail sync, and an ADB fix for inconsistent permissions.· 3 min readBrave Origin: a subscription check without key pinning
The Android Origin gate verifies subscription credentials against a public key the server hands back, with no issuer pinning. A local policy path never redeems them, so a forged credential is enough.· 4 min readTuning Patchright for fingerprint-stats pages
Why AmiUnique and WebRTC leak tests need a different approach than bot-detection demos, and how WebSkrap handles them with native Chromium flags and opt-in context metadata instead of JavaScript spoofing.· 5 min readPassing Bot Detection in Headless Chrome
Making headless Chromium clear the same bot-detection suite as headed mode with a simulated screen and a masked user agent, no JavaScript spoofing.· 4 min readTeensy BadUSB reverse shell POC
HID keyboard injection on a Teensy 3.2 chains into a fileless PowerShell reverse shell on Windows.· 4 min readSkia Graphite compositing bug in Chromium on macOS
A GPU rendering synchronization bug causing visual corruption on macOS, and how to fix it.· 4 min read