![]() |
Ку, киберрекруты. Сегодня будет разбор таска с платформы Antichat в разделе Реверс-инжиниринг. Таск является очень простым, поэтому вопросов возникнуть недолжно. Этот таск хорош тем, что дает первоначальные навыки писать кейгены.
Кейген - небольшая программа, которая генерирует: криптографический ключ для шифрования данных, псевдоподлинные CD-ключи или серийные/регистрационные/активационные номера для регистрации/активирования ПО. Однако, в нашем случае немного другой генератор. Это больше дешифратор. Дано два файла - flag.enc и program.txt. Перейдем к реверсу. Реверс program.txt является кодом написанном на языке Python в виде псевдоассемблерных инструкций. Бегло просмотрев код, можно увидеть такие инструкции: Код: Код:
16 LOAD_CONST3 ('ZHEkjgfhdiIR')Пишем декриптор Первым делом объявляю ключ и массив, в который будет записан результат. Также открываю файл для чтения байтов: Python: Код:
keyPython: Код:
file_handlerPython: Код:
key |
Спасибо за райтап.
Решал сегодня данную задачу, пришло в голову несколько мыслей 1. Нам неизвестен тип бинарника, можно сделать проверку на магические байты и выбирать нужное расширение для файла, для всех остальных можно .bin сделать, например. 2. Если файл картинка, то можно на него натравливать gocr, я попробовал, но он плохо и не правильно распознал текст, к сожалению. Может быть есть какие другие способы? |
Для тех, кто не знаком с языком программирования Python или не проявляет особого интереса к реверс-инжинирингу, существует более простой способ:
|
| Время: 03:27 |