~/talk

What’s In A Bit – Designing, Using And Reverse-engineering Binary File Formats

Talkat C++ on Sea 2022 · 2022-07-05..07-07· [c-and-cpp]
links:none on file
slides:none on file

Covers how individual bits scale to 128-bit identifiers, practical encodings (variable-length integers, run-length and back-reference compression), and tradeoffs between memory-mapped files and streaming or loadable formats. Shows design steps: choose working set, add magic/version, pick indexes, iterate with target hardware. Demonstrates reverse engineering a 1990s game: writes an FLX archive extractor, finds a 0xC000 (3072)‑entry index, decodes 9‑ and 6‑byte tables and shape records, reconstructs images from run-length + back-reference compression and successfully renders game levels.

AI-written summary · about

  1. 0:00Start
  2. 0:12Basics
  3. 2:50C64 Palette
  4. 3:24Web Safe Palette
  5. 3:4416 Bits
  6. 6:01How Much Would It Actually Take To Store Data
  7. 13:44Run Link Encoding
  8. 20:03Protobuf
  9. 22:11Why Are You Doing Binary
  10. 23:34General Types of File Formats
  11. 24:11Header with Flat Data
  12. 27:51Record Sequence
  13. 31:09Memory Mapped Files
  14. 33:21Loadable File
  15. 34:52Designing a Binary File Format
  16. 35:19Working Set
  17. 35:31What a Working Set Is
  18. 37:33Difference in Video File Formats
  19. 40:15Start with a Magic Value and a Version Number
  20. 42:12Iterate Your Design
  21. 50:29Identify File Structures
  22. 58:00Run Length Encoding
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.