Вероятно, вам лучше всего искать информацию о двоичных сетевых протоколах, а не о форматах файлов. Основные проблемы (порядок следования байтов, упаковка структуры, сериализация и десериализация указателей, ...) одинаковы, но люди, работающие в сети, как правило, лучше осведомлены о проблемах и более четко представляют, как они обрабатываются. Чтение и запись двоичного двоичного объекта в или из провода на самом деле мало чем отличается от работы с двоичными двоичными объектами на диске.
Вы также можете найти множество существующих примеров в графических пакетах с открытым исходным кодом (например, netpbm или The Gimp ). Офисный пакет с открытым исходным кодом (такой как LibreOffice ) также даст вам множество примеров кода, который работает со сложными и запутанными двоичными форматами.
Возможно, вам даже что-то пригодится в Протоколе Google Buffers или в старой школе ONC RPC и XDR.
Я не знаю каких-либо книг или руководств по таким вопросам, но, возможно, несколько реальных примеров из жизни будут более полезными для вас, чем руководство по HOWTO.