Полные реверсы игр: Volcano, Лестница, Диверсант, Алмаз (ALIAZ1)
Moderator: Shaos
-
begoon
- Maniac
- Posts: 202
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Полные реверсы игр: Volcano, Лестница, Диверсант, Алмаз (ALIAZ1)
Я тут от небольшого безделья немного покопался в одной из моих любимых игр на РК - http://rk86.ru/index.html?file=RESCUE.GAM
План был сделать хак для бессмертия. Для просто нейтрализации счетчика вертолетов можно даже не верверсить, а как в старину сравнить дампы памяти в процессе игры. Но тут случай интереснее - хотелось получить неуязвимость при столкновении. Но как оказалось, там очень много разных мест, где проверяются коллизии, поэтому я просто отключил обработку лавы и пепла. Теперь можно спокойно перетаскивать всех людишек.
Хак:
0517: C5 -> C9
082F: 3A -> C9
Можно просто запатчить в Мониторе командой М перед запуском. Можно через консоль эмулятора.
Если честно, то я удивлен, насколько кучеряво игра написана. Дофига движухи на экране. Реализованы очереди для пуль и пепла. Заставка, ландшафт горы и схождения лавы хранятся в примитивной компрессии. Экранная область не используется, все только через Монитор, но есть внутренне хранения содержимого экрана.
Для любителей-некрофилов я приаттачил LSTшку с моим анализом. Там 60% игры более менее разобрано. Для особых маньяков, могу дать базу от IDA, если охота продолжить.
ОБНОВЛЕНИЕ (15.04.2026)
Я таки добил разбор исходника Volcano практически на 100%. Недокументированных кусков больше нет.
Исходник компилируется байт в байт совпадает с оригинальный бинарником.
Еще по ходу запилил реализацию на питоне для консоли. Геймплей практически совпадает.
Ну чтоб еще раз не вставать - вот оригинал игры для BBC Micro.
ОБНОВЛЕНИЕ 22.04.2026
Прямые ссылки на реверсы указанных игр:
Алмаз (ALIAZ1)
Volcano
Лестница
Диверсант
Исходники игры также добавлены в примеры программ в ассемблере эмулятора, так что можно запускать прямо из исходников.
План был сделать хак для бессмертия. Для просто нейтрализации счетчика вертолетов можно даже не верверсить, а как в старину сравнить дампы памяти в процессе игры. Но тут случай интереснее - хотелось получить неуязвимость при столкновении. Но как оказалось, там очень много разных мест, где проверяются коллизии, поэтому я просто отключил обработку лавы и пепла. Теперь можно спокойно перетаскивать всех людишек.
Хак:
0517: C5 -> C9
082F: 3A -> C9
Можно просто запатчить в Мониторе командой М перед запуском. Можно через консоль эмулятора.
Если честно, то я удивлен, насколько кучеряво игра написана. Дофига движухи на экране. Реализованы очереди для пуль и пепла. Заставка, ландшафт горы и схождения лавы хранятся в примитивной компрессии. Экранная область не используется, все только через Монитор, но есть внутренне хранения содержимого экрана.
Для любителей-некрофилов я приаттачил LSTшку с моим анализом. Там 60% игры более менее разобрано. Для особых маньяков, могу дать базу от IDA, если охота продолжить.
ОБНОВЛЕНИЕ (15.04.2026)
Я таки добил разбор исходника Volcano практически на 100%. Недокументированных кусков больше нет.
Исходник компилируется байт в байт совпадает с оригинальный бинарником.
Еще по ходу запилил реализацию на питоне для консоли. Геймплей практически совпадает.
Ну чтоб еще раз не вставать - вот оригинал игры для BBC Micro.
ОБНОВЛЕНИЕ 22.04.2026
Прямые ссылки на реверсы указанных игр:
Алмаз (ALIAZ1)
Volcano
Лестница
Диверсант
Исходники игры также добавлены в примеры программ в ассемблере эмулятора, так что можно запускать прямо из исходников.
Last edited by begoon on 23 Apr 2026 07:47, edited 8 times in total.
-
alemorf
- Senior
- Posts: 132
- Joined: 03 Jan 2017 08:58
- Location: SPb
Re: Дизассемблирование игры Volcano (Rescue, Вертолет)
надо кнопку с пальцем вверх на форум добавить.
-
begoon
- Maniac
- Posts: 202
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Дизассемблирование игры Volcano (Rescue, Вертолет)
Ремейк Volcano на JavaScript.
ОБНОВЛЕНИЕ
У кого есть контроллер, типа для X-box'a -- можно и им играть.
У кого есть контроллер, типа для X-box'a -- можно и им играть.
You do not have the required permissions to view the files attached to this post.
Last edited by begoon on 23 Apr 2026 07:48, edited 2 times in total.
-
imsushka
- Doomed
- Posts: 383
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Дизассемблирование игры Volcano (Rescue, Вертолет)
Эта хоть нормально написанна. при дизассемблировании понятно все.
я тут хотел Рикошет посмотреть/подправить, а то тормознуто/лагающе играется. Может тормозит, а может так задуманно.
Загрузил в ИДУ. И все. Игра написанна на ЯВУ. причем компилятор как то уж жутко все собрал.
кароч не асилил.
я тут хотел Рикошет посмотреть/подправить, а то тормознуто/лагающе играется. Может тормозит, а может так задуманно.
Загрузил в ИДУ. И все. Игра написанна на ЯВУ. причем компилятор как то уж жутко все собрал.
кароч не асилил.
-
begoon
- Maniac
- Posts: 202
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Дизассемблирование игры Volcano (Rescue, Вертолет)
Практически добил разбор Лестницы.
Увы, тут игру точно писали либо на С, или скорее всего даже на PL/M-80, поэтому код раздут, много церемоний со стеком, использование hl как указателя и пр. В целом, познавательно.
Я полностью восстановил карты уровней, их кодировку, и сохранил их в текстовые файлы.
У меня еще есть мысли, где покопать, но в целом, для создания ремейка информации достаточно.
Да, важно упомянуть, что исходник компилируется и проверяется на совпадение с оригиналом.
Увы, тут игру точно писали либо на С, или скорее всего даже на PL/M-80, поэтому код раздут, много церемоний со стеком, использование hl как указателя и пр. В целом, познавательно.
Я полностью восстановил карты уровней, их кодировку, и сохранил их в текстовые файлы.
У меня еще есть мысли, где покопать, но в целом, для создания ремейка информации достаточно.
Да, важно упомянуть, что исходник компилируется и проверяется на совпадение с оригиналом.
-
imsushka
- Doomed
- Posts: 383
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Дизассемблирование игры Volcano (Rescue, Вертолет)
лестница у меня есть. лежит на гитхабе. и я добавлял еще уровней.begoon wrote: 16 Apr 2026 14:28 Практически добил разбор Лестницы.
Увы, тут игру точно писали либо на С, или скорее всего даже на PL/M-80, поэтому код раздут, много церемоний со стеком, использование hl как указателя и пр. В целом, познавательно.
Я полностью восстановил карты уровней, их кодировку, и сохранил их в текстовые файлы.
У меня еще есть мысли, где покопать, но в целом, для создания ремейка информации достаточно.
Да, важно упомянуть, что исходник компилируется и проверяется на совпадение с оригиналом.
правда она уже не в чистом виде, а под меня переделанна.
и нет вроде, на асме написсано, ничего лишнего там не было.
-
begoon
- Maniac
- Posts: 202
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Дизассемблирование игры Volcano (Rescue, Вертолет)
А ссылку можно?
-
imsushka
- Doomed
- Posts: 383
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
-
begoon
- Maniac
- Posts: 202
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Дизассемблирование игры Volcano (Rescue, Вертолет)
Спасибо. Я многое из вашего варианта почерпнул.
-
begoon
- Maniac
- Posts: 202
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Дизассемблирование игр Volcano, Лестница и Диверсант
Запилил очень подробный реверс еще одной моей любимой игрухи - Диверсант.
Как обычно, реверс собирается в точную копию оригинала.
You do not have the required permissions to view the files attached to this post.
-
imsushka
- Doomed
- Posts: 383
- Joined: 01 Jan 2022 04:34
- Location: USSR, Tashkent
Re: Дизассемблирование игр Volcano, Лестница и Диверсант
вот рикошет бы ....
но смысла нет, так как он тормознутый, и если его просто реверснуть то он так и останется тормозом
но смысла нет, так как он тормознутый, и если его просто реверснуть то он так и останется тормозом
-
begoon
- Maniac
- Posts: 202
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Дизассемблирование игр: Volcano, Лестница, Диверсант, Алмаз (ALIAZ1)
Полный реверс игры Алмаз (ALIAZ1), включая картыЕсли кому интересно -- внутри игры много следов от Микроши, типа запись в D80x, но все как-то недоделано, поэтому точно не ясно: это адаптация из Микроши в РК или наоборот.
You do not have the required permissions to view the files attached to this post.
-
Mondx
- Doomed
- Posts: 650
- Joined: 10 Aug 2022 07:27
- Location: Crimea
Re: Полные реверсы игр: Volcano, Лестница, Диверсант, Алмаз (ALIAZ1)
А как насчёт интеллектуальных прав А.Бытко? Просто интересно.)
-
begoon
- Maniac
- Posts: 202
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Полные реверсы игр: Volcano, Лестница, Диверсант, Алмаз (ALIAZ1)
Да можно не гадать. В README.md все написано.
