Starcraft портирован на ARM
Notaz, участник проекта OpenPandora, провёл реверс-инжиниринг игры StarCraft и портировал её на ARM-платформу. Ему удалось это сделать несмотря на отсутствие исходного кода в открытом доступе.
В репозитории выложен перекомпилированный бинарник для установки которого на игровую приставку «Пандора» нужно еще скопировать несколько файлов с ПК-версии игры.
Автор порта говорит, что он дизассемблировал игру в IDA, затем конвертировал код на C с помощью инструментов собственной разработки (их пришлось написать в процессе работы специально для этой задачи), потом скомпилировал в нормальную программу и связал с библиотекой winelib, которая работает с Win32 API из-под ARM-версии wine. Задача поначалу казалась простой, но в реальности проект занял почти полгода: вылезло очень много неожиданных проблем. Так или иначе, но автор довёл дело до конца.
Теоретически, он мог бы выложить код C в открытый доступ, чтобы кто-нибудь скомпилировал версию под Android. Сейчас StarCraft запускается на Android-планшетах и смартфонах с помощью Winulator. Видео запуска Взято с хабра.
arm, reverse engineering, wine, си