David Buchanan's Blog
Adversarial ATProto PDS Migration
When Circumvention Is More Popular Than Compliance
Stop Saying "Responsible Disclosure"
UofTCTF 2025: An AES Timing Side-Channel
2024 Retrospective
There Is No Universal De-Select-All Idiom
Can You Get Root With Only a Cigarette Lighter?
Jailbreaking RabbitOS: Uncovering Secret Logs, and GPL Violations
SIMD in Pure Python
Text Editors Should Be Worse
2024 Will Be the Year of the Blog
Another Way Not to Sign JSON
Blogging With Math
Colliding Secure Hashes
Hijacking Bluesky Identities with a Malleable Deputy
s32 Unix Clock
Exploiting aCropalypse: Recovering Truncated PNGs
The Quest for Netflix on Asahi Linux
Hello, PNG!
BGGP3: Chipping Out
V8 Heap pwn and /dev/memes - WebOS Root LPE
35c3ctf: Collection - an Unintended Solution!
WPICTF 2018: Forker[1-4] Writeup - Blind-ish ROP
WPICTF 2018: Jay-Peg Writeup - LSB-Stego
HITB-XCTF GSEC 2018 Quals: babypwn - Blind Format String Exploitation
0CTF 2018 Quals: Baby Stack - ret2dlresolve
Crashing QEMU VGA Drivers - The Story of my First CVE
CTF Writeup: Hackvent 2017 Day 23 - "Only Perl"
CTF Writeup: Hackvent 2017 Day 21 - "Tamagotchi"
Hello, world!