Writeup Файлы PYC (writeup)

Привет.
Идем дальше.

А вот это вот интересно. На мой взгляд, что ни ghidra, ни ida тут не помощник. Нужно что-то иное.
hexeditor показал, что внутри есть Enter Flag, Wrong Flag и прочее, значит там есть какой-то код, скорее всего питоновский.

Ищем декомпилятор.
Есть uncompyle6 и decompyle3, но там какие-то проблемы с версиями питона. Есть еще pycdc.

git clone GitHub - zrax/pycdc: C++ python bytecode disassembler and decompiler
cd pycdc
cmake CMakeLists.txt
make
./pycdc task.cpython-38.pyc

Выводится код, который pycdc декомпилировал. Копипастим его в свой питоновский скрипт. Удаляем ненужное, добавляем нужное.
Python:
rnd = b'\\;\xfe\xf5E\xff]\xe3\xc3i\xa0\x07\xacO\x97\xb9k\x8f'
enc = b'!|\x90\xc4.\xa0n\x88\xf7\x07\xf3|\xf5\r\xd2\xfd$\xcc'
enc = enc[::-1]
rnd = rnd[::-1]
flag = ""
for i in range(len(enc)):
    flag += chr(enc[i] ^ rnd[i])
print(flag)

Получили флаг.
 
  • Нравится
Реакции: pav_a и GoBL1n
Мы в соцсетях:

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

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab