Описание задачи
Имеется образ операционной системы для одноплатного компьютера Raspberry Pi (архитектура ARM64/AArch64). При загрузке системы в оперативную память временно загружается программное обеспечение, которое выполняет ряд скрытых функций. Софт написан на Python, но исходный код полностью или частично преобразован (скомпилирован в .pyc, обфусцирован, либо упакован в архив/образ с шифрованием).
Цель работы
Выполнить реверс-инжиниринг процесса загрузки и исполнения данного ПО, чтобы:
- извлечь и восстановить читаемый Python-код или его эквивалент;
- воссоздать алгоритмы работы программы (логика сбора данных, передачи по сети, управления аппаратной частью и т.п.);
- получить понятную документацию и выявить ключевые модули (потенциально - регистрация действий системы, сетевое взаимодействие, обфускация и защита лицензии).
Требования к исполнителю
Необходимый опыт:
- обратный инжиниринг приложений на Python (работа с .pyc, .zip, unpacker) и его системными вызовами;
- понимание загрузочных процессов на Raspberry Pi OS/Arch Linux ARM, порядка автозагрузки; умение анализировать итерналы памяти (coredump, /proc/fs, mapped memory).
- работа с отладчиками (gdb-multiarch, Frida) и дизассемблерами (Radare2, Ghidra, binutils)
- опыт расшифровки и деобфускации Python-бинарных блоков (unpyc3c, pycdc, uncompyle6), работа упаковщиков/инсталляторов (PyInstaller, py2exe)
Что должно быть выполнено:
- Анализ образа загрузчика: Исследовать последовательность загрузки модулей ОС, найти процесс / файл, отвечающий за декодирование ПО РФ в оперативную память.
- Извлечение и декомпиляция: Скопировать / зафиксировать состояние лиш памяти на лету, дамп команды python или собственный менеджер псевдо-процессов. Получить по коду чистый код восстановление логической бизнес-логики на Python или в C/C++
- Построение карты связей: какие библиотеки, сетевые IP, физические GPIO используются
- Документация: понятным техписатели языком одна кон Блок-схемы - файлы - диаграммы взаимодействия
Техническое описание результата
На выходе: * часть восстановленных (воспроизвести ОЗУ - .dmp, скрипты извлечения), * детальное описание алгоритмов в документах * перечень сигтаз и их участки возвращены в IT-схемные блоки и особые заяса)
Важные примечания и требования конфиденса
Огромный запрет + конфиднатальности - Не разглашать саму структуру полученых сущностей .
Цель зашиф