Показать сообщение отдельно

  #1  
Старый 07.05.2023, 14:53
yetiraki
Новичок
Регистрация: 07.02.2023
Сообщений: 0
С нами: 1719376

Репутация: 0
По умолчанию

Всем привет.
Так как не нашел райтапа, решил сам сделать =)

Идем в 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
)
Флаг получен.
 
Ответить с цитированием