Абсолютно потрясающий пост о том как RCE на GameBoy Colour запускали. Для этого была выбрана игра Pokemon Crystal JP (именно японская версия), которая умела работать с Mobile Adapter GB (это железяка, которая позволяет подключать GameBoy к Интернетам; картинку прицепил к посту)
Если кратко, то сначала автор разревёрсил работу Mobile Adapter GB, например The ROM doesn’t handle DNS, it just has a command to ask the mobile phone to lookup a domain for it and send an IP address back.
Потом разобрал “протокол” взаимодействия игры с HTTP и POP(!!11!) -серверами, через которые происходило получение покемонов в игре.
После этого изучил различные существующие эксплойты для игры и обратил внимание на один конкретный (https://glitchcity.wiki/wiki/0x1500_control_code_arbitrary_code_execution), который использовали спидраннеры (он не подходил для японской версии и требовал доработки)
Следующим этапом было исследование протокола взаимодействия для организации битвы покемонов (https://archives.glitchcity.info/forums/board-76/thread-7509/page-0.html). В результате длительных мучений был написан скрипт, который позволял снимать временной лимит для битв (10 минут в день) и продвинуться дальше.
В конце автору через RCE удалось вывести цифру 3 на экран (скину GIFку в комменты, на ней самом конце это видно).
В статье огромное количество технических подробностей с пояснениями, иллюстрациями и ссылками. Всем кто, как и я, любит подобное очень рекомендую.
Tetsuji: Remote Code Execution on a GameBoy Colour 22 Years Later https://xcellerator.github.io/posts/tetsuji/ + GitHub https://github.com/xcellerator/tetsuji https://web.archive.org/web/20240926122842/https://xcellerator.github.io/posts/tetsuji/
взято отсюда: https://t.me/tech_b0lt_Genona/4870