Codeby Games Writeup: "Независимый код" (codeby.games)

  • Название: Независимый код
  • Категория: reverse
  • Платформа: codeby.games
Вместо какого-либо бинарника или dll нас в архиве ждёт один-единственный myflag.txt. Почитаем, что там:
1720523868613.png

Судя по всему, наш текстовый файл - дизассемблированный IL-код (ldstr, mscorlib, stloc.0). Сразу в глаза бросаются строки "Введите флаг" и "Успех, это он!". Так что искомая нами информация располагается где-то здесь.
Кроме этих строк у нас мелькают "qBFecRe#K2yff345" и "ILc0dE_t@sK23###" - казалось бы, ничего не значащие строки, но эти сомнения развеются после того, как мы увидим EncryptStringToBytes_Aes. Все строки загружаются в стек через ldstr, после через stloc.n они выгружаются и сохраняются в локальную переменную n, а ldloc.n - выгружает её обратно в стек. И обе эти строки в конечном итоге попадут в качестве аргументов EncryptStringToBytes_Aes: string (наш ввод), затем "qBFecRe#K2yff345" (key) и "ILc0dE_t@sK23###" (IV).
1720524649985.png

После же полученный набор байтов сравнивается с targetBytes, и, в зависимости от результата проверки, мы получаем соответствующий ответ. Поэтому наша задача - расшифровать targetBytes, чтобы получить флаг.
Воспользуемся замечательной тулзой - :

1720525022745.png


Получили флаг! Честно говоря, тут было больше крипты, чем ревёрса. Тем не менее, таск решён!

Надеюсь, этот небольшой райтап поможет вам в нашей нелёгкой стезе.

Удачного ревёрса! Удачной крипты???

made 4 @rev_with_da_boys
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!