Вернулся к JPG, чтобы написать программу, которую я не нашел. Мне захотелось убрать лишние данные - EXIF, IPTC и комментарии - все по выбору. Однако, разработка надолго затянулась. Проблема в маркерах файла - казалось бы, все просто - маркер, длина, данные. Но нет.
Сначала я наткнулся на $FFDA(SOS). Некоторые опубликованные исходники декодера разбирают данные после маркера, некоторые просто давятся на этом шаге. Решение нашлось в опубликованном нерабочем исходнике на GitHub(очередное подтверждение, что это помойка говнокодеров) или в растиражированной статье: нужно искать несуществующий маркер FF 00.
Хорошо, написал эту программу, но на тесте найденной картинки тормознул на $FFD0-$FFD7(RST0-RST7). Повторил те же действия, и в итоге получил рабочий код. Заявлять о релизе пока что рано, и я надеюсь, что несколько картинок пройдут через эту очистку. К тому же я постарался сделать так, чтобы программа не напортачила, а сообщила о неизвестной ошибке. Надеюсь, это прокатит.
Комментарии
Отправить комментарий