Blog

Notes on broken files

How formats actually fail, why most corrupters do not work, and what to do with a deliberately broken file once you have one.

Showing 1 to 12 of 16 articles

Security ·

Validating file uploads properly

Extension checks are trivially bypassed, Content-Type is attacker-controlled, and magic bytes alone fall to polyglots. What actually works is parsing, isolating and renaming.

Read article
Testing ·

From a corrupted file to a fuzzing harness

A handful of broken fixtures finds the obvious bugs. Coverage-guided fuzzing finds the rest. Here is how a seed corpus becomes a real AFL++ or libFuzzer run.

Read article
Operations ·

Your backup is a hypothesis until you restore it

Backups that have never been restored fail at the worst possible moment. A restore drill against a deliberately damaged archive turns an assumption into a measurement.

Read article
Integrity ·

CRC32, MD5 and SHA-256: which one catches what

Three checksums, three different jobs. One detects accidental bit flips, one is fast and cryptographically broken, one is tamper-evident. Picking wrongly is how corruption goes unnoticed.

Read article
Recovery ·

How archive repair tools actually work

Recovery records, local-header scanning and external parity all attack the same problem differently. Knowing which redundancy an archive carries tells you what is recoverable.

Read article
Formats ·

Why a corrupted video stops after two seconds

MP4 is a tree of boxes, and the moov atom is the index. Where it sits in the file decides whether a damaged video plays briefly, streams at all, or fails instantly.

Read article
Formats ·

How a PDF finds its own pages

A PDF is an object graph indexed by a table at the end of the file. That design is why Acrobat can silently repair damage that would destroy any other format.

Read article