Pull to refresh

StarCraft дизассемблировали и запустили на ARM

Reading time1 min
Views63K


Один из участников проекта OpenPandora провёл реверс-инжиниринг игры StarCraft и портировал её на ARM-платформу. Ему удалось сделать это, несмотря на отсутствие исходного кода в открытом доступе.

В репозитории выложен перекомпилированный бинарник, для установки которого на игровую приставку «Пандора» нужно еще скопировать несколько файлов с ПК-версии игры.

Автор порта говорит, что он дизассемблировал игру в IDA, затем конвертировал код на C с помощью инструментов собственной разработки (их пришлось написать в процессе работы специально для этой задачи), потом скомпилировал в нормальную программу и связал с библиотекой winelib, которая работает с Win32 API из-под ARM-версии wine. Задача поначалу казалась простой, но в реальности проект занял почти полгода: вылезло очень много неожиданных проблем. Так или иначе, но автор довёл дело до конца.

Теоретически, он мог бы выложить код C в открытый доступ, чтобы кто-нибудь скомпилировал версию под Android. Сейчас StarCraft запускается на Android-планшетах и смартфонах с помощью Winulator.

Tags:
Hubs:
+84
Comments63

Articles

Change theme settings