Всем привет.
Так как не нашел райтапа, решил сам сделать =)
Идем в ghidra.
Создаем non-shared проект.
Выбираем папку для проекта и его название
Далее импортируем файл (hotkey I). На все оставшиеся вопросы отвечаем подефолту.
Переходим в CodeBrowser (иконка с гидрой) или жмём 2 раза на импортированный файл.
Далее в Symbol Tree переходим в Functions и далее m -> main. Обычно с main все и начинается.
Как видно из кода - у нас есть orig с которым сравнивается введенный flag.
Надо по сути получить то, что есть в orig в нормальном виде.
Можно конечно руками все перепечатывать, но я написал скрипт на питоне, т.к. надо еще все это перевернуть.
Python:
Код:
x_0_8
=
'577b594245444f43'
x_8_8
=
'485f554f595f574f'
x_16_8
=
'4c4145525f455641'
x_24_8
=
'425f4749425f594c'
x_32_4
=
'4e494152'
x_36
=
'}'
x
=
bytes
.
fromhex
(
str
(
x_32_4
+
x_24_8
+
x_16_8
+
x_8_8
+
x_0_8
)
)
.
decode
(
)
print
(
x
[
:
:
-
1
]
+
x_36
)
Флаг получен.