Лаборатория ASIS CTF Quals 2016 - odrrere [166]

Progressor
, 10 May 2016

Chaos is merely order waiting to be deciphered. Jose Saramago, The Double

Дана картинка в формате png:

На ней угадывается начало и конец флага, написанного под углом. Далее идут какие-то пиксели - либо код, либо мусор.

Еще Виден размер картинки - она квадратная 665 на 665. Забегая вперед скажу, что задание можно было сделать изящнее, уменьшив размер картинки в заголовке до 665 на 100. Тогда бы и изменения были не так видны. Но тут много подсказок про упорядочивание - и название таска, и описание.

А так - открываем картинку в tweakpng, смотрим заголовки, видим несколько IDAT чанков. Поскольку есть предположение, что пиксели на картинке появились в результате повреждения, то пробуем наугад подвигать IDAT чанки (первый не трогаем, а то все сломается). Видим, что картинка изменяется, появляются новые куски флага, иногда читаемые, иногда нет.

То есть нам нужно восстановить правильный порядок чанков IDAT, чтобы прочитать весь флаг. Открываем tweakpng на пол-экрана, открываем картинку на вторую половину экрана, в tweakpng двигаем чанки и сохраняем (ALT+UP, CTRL+S), смотрим на результат справа и через пару минут стучания по клаве получаем исходную картинку.

P.S. Хостинг картинок не мог открыть поврежденные картинки, поэтому я их пересохранил в пнг с утерей IDAT чанков. Только последняя картинка сождержит все чанки.