CrackMe CrackMe 5/10

Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
463
Реакции[?]
119
Поинты[?]
11K
ЯП - C++
Сложность - 5/10
Упакован кастомным пакером.

Задача: вывести сообщение "Yes!" в консоль. В приоритете сделать это через патч, но можно найти и пароль.
Анти дебага нет.

VirusTotal:
Пожалуйста, авторизуйтесь для просмотра ссылки.
 

Вложения

Последнее редактирование:
Murasaki
Разработчик
Статус
Оффлайн
Регистрация
18 Мар 2020
Сообщения
431
Реакции[?]
870
Поинты[?]
206K
> cmp ecx, 0x1839
0x1839 -> 6969 це ключ, но патчить лень, хороший пакер!!
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
463
Реакции[?]
119
Поинты[?]
11K
✊Rot Front✊
Пользователь
Статус
Оффлайн
Регистрация
2 Июл 2020
Сообщения
132
Реакции[?]
258
Поинты[?]
86K
Я не анализировал полностью, как устроен пакер и просто быстро распаковал:
Распакованный код выполняется в RWX памяти, поэтому его легко заметить + удаляется PE.
RVA : header VA : name
Unpack work PE
149B : 000000014000149B call oep (рекомендую делать как минимум jmp,чтобы не палить в стеке откуда был вызов)
1469 : 0000000140001469 - unpack alloce memory

RVA : name
Packed PE:
32B4 - __scrt_common_main_seh
3430 - OEP
1610 - start check pass

Password:
6969
or
(RVA)1617 - set ZF flag
Пожалуйста, авторизуйтесь для просмотра ссылки.
:
Пожалуйста, авторизуйтесь для просмотра ссылки.

В теории тот же VirtualProtect можно было использовать в качестве anti-unpack трюка т.к выделяешь в RWX,но это просто предложение и спасибо за маленький challenge!
 
Сверху Снизу