Захотел сегодня сделать из зацикленного gif - не зацикленый. Чтобы анимация показывалась только один раз.
Нашёл
описание формата, поправил два байта (unsigned number of repetitions) с количеством повторения с нуля (бесконечно зацикленый) на 1 (попробовал оба варианта, big endian и little endian). Не получилось, картинка осталась зацикленой. Тогда просто испортил заголовок описывающий анимацию, поменяв 21FF на 21AA. Получилось, gif теперь в FF и хроме не зацикленый. Но IE отказался его показывать. Тогда просто стёр этот блок. Получилось. Но FireFox действительно теперь показывает анимацию ровно один раз, а для перезапуска анимации - нужно перезагружать браузер. Блок легко кстати ищется глазами по строке "!..NETSCAPE2.0"
Давно ничего не редактировал в бинарном виде. Узнал, что в vim принято переключаться из бинарного режима в текстовый при помощи внешней программы конвертирования ( «:%!xxd» туда, и «:%!xxd -r» обратно ). Работает, но до нормального hex-редактора далеко (нельзя даже найти последовательность, которую перенесли на другую строку, для удаления байтов нужно переключиться в text-режим и запоминать в голове в штуках смещения, положение курсора естественно забывается).