Лаборатория LabyREnth 2016, Windows stash, task 9

timcess
, 16 августа 2016

Задание - DelphiChallenge.exe

Открывая exe-шник видим такое окно, в которое можно писать.

Если открыть файл в IDA станет понятно, что он запакован/зашифрован, в нём всего одна функция и кучу мусорных инструкций с запутанными джампами. Чтобы не разбираться в пакере можно попробовать загрузить файл в OllyDbg и сдампить область памяти уже после того как всё распаковано. Это срабатывает, после распаковки появляется область памяти с правами RWE. плагин OllyDumpEx успешно определяет в нёй все секции кода и данных.

Ещё я сдампил секции DelphiChallenge, в них нашлись строки, которые в новой области с распакованной программой не отображались.

Я нашёл эти строчки в Olly, поставл hardware brakepoint на чтение строчки Wrong и нашёл функцию, определяющую какая строчка будет отображаться. Эта функция уже была в бинаре, сдамлпенном из новой области. В ней, строчка "Correct!.." выводилась если выставлен глобальная константа. По xref-у находимо проверяющую функция. Функция берёт введённую строчку и проверяет её простыми преобразования, такими же как в таске 8 (ксор, сдвиги, умножения)

PAN{d3lphi_is_e4sy_t0_rev3rSE}

Авторизуйтесь, что бы оставить комментарий