• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Writeup Детский реверс (writeup)

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

Идем в ghidra.
Создаем non-shared проект.
task1_ghidra_project.png


Выбираем папку для проекта и его название
task1_ghidra_project_2.png


Далее импортируем файл (hotkey I). На все оставшиеся вопросы отвечаем подефолту.
Переходим в CodeBrowser (иконка с гидрой) или жмём 2 раза на импортированный файл.

Далее в Symbol Tree переходим в Functions и далее m -> main. Обычно с main все и начинается.
Как видно из кода - у нас есть orig с которым сравнивается введенный flag.
Надо по сути получить то, что есть в orig в нормальном виде.
task1_main.png


Можно конечно руками все перепечатывать, но я написал скрипт на питоне, т.к. надо еще все это перевернуть.
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)

Флаг получен.
 
  • Нравится
Реакции: Архип Борисов
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab