Автор Тема: Desert Strike Hacking  (Прочитано 5060 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Arkadij

  • Пользователь
  • Сообщений: 22
    • Просмотр профиля
Desert Strike Hacking
« : 02 Февраль 2014, 21:11:04 »
Привет ромхакерам! Я провожу хакинг игры Desert Strike на SMD, нашел практически все, что нужно для переделывания уровней - пойнтеры расположения зданий, врагов, прорисовку местности и рисунок карты. Не могу разобраться с рисунками к описанию заданий, очевидно, они каким-то образом запакованы. Хотел узнать, существует ли распаковщик графики для этой игры, или, если нет, какой алгоритм сжатия здесь используется, чтобы потом попробовать написать распаковщик самому?

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #1 : 03 Февраль 2014, 00:31:42 »
Мой тебе совет: графон грузи своим способом. Так быстрее и легче
А графон можно и на лету из оперативы выдрать. GensKMod в помощь

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #2 : 03 Февраль 2014, 09:08:07 »
Segaman, ну ну, а потом как ты засунешь изменения в ром? "А это уже пусть будут трудности того, кто хакает!"?)
Ненавижу этот подход.

Оффлайн evgeny

  • Пользователь
  • Сообщений: 1390
  • Пол: Мужской
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #3 : 03 Февраль 2014, 10:10:40 »
DrMefistO, для сеги расширить ром ничего не стоит.
А вобще на форуме chief-net как-то выкладывалась программа для сжатой графики для одной из частей этой игры. Кажется к jungle strike, но велика вероятность, что подойдет. Подробностей не помню, вроде бы Марат выкладывал, его спрашивать надо.

Оффлайн Arkadij

  • Пользователь
  • Сообщений: 22
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #4 : 03 Февраль 2014, 11:18:49 »
Urban Strike, если точнее. Ссылки там уже битые, но выяснил, что там алгоритм сжатия lzss. Еще не знаю, подойдет ли он к этой игре, попробую.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #5 : 03 Февраль 2014, 12:11:36 »
Arkadij, LZSS != LZSS. То бишь, рознь.

Оффлайн Arkadij

  • Пользователь
  • Сообщений: 22
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #6 : 03 Февраль 2014, 13:39:37 »
Проблема в том, что я не силен в этом деле, в частности, в понимании алгоритмов сжатия. Не говоря уж о написании распаковщика.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #7 : 04 Февраль 2014, 12:13:29 »
Arkadij, тогда меня слушай :)

Оффлайн gepar

  • Пользователь
  • Сообщений: 10150
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #8 : 04 Февраль 2014, 12:59:05 »
DrMefistO, всё семейство алгоритмов LZ похожее да и есть велика вероятность лени разработчиков, ну мол зачем использовать другой алгоритм сжатия, когда и этот хорошо в прошлый раз справился.Arkadij, ты попробуй таки найти тот декодер, есть ведь вероятность что и он подойдёт.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #9 : 04 Февраль 2014, 13:34:22 »
Проблема в том, что я не силен в этом деле, в частности, в понимании алгоритмов сжатия. Не говоря уж о написании распаковщика.
Даю подсказку. Распаковщик есть в игре.  Чтобы переписать код, знать алгоритм не обязательно, только пару языков , один из которых конечно asm-68k, другой например c.
Более того можно не писать код, а извлечь написав скрипт в lua, в gens11; хоть с этим нужно разобраться.
Можно вообще ничего не писать, только найти код анпака в роме, и в конце распаковки ставить брейкпоинт, потом через dump ram/ vram выдирать. (Вариант предложенный Segaman)
Для совсем ленивых - вообще ничего не искать, просто выдирать из vram.
Вот запаковщик - это уже другое дело. Если очень хочется пакер - выложить дизасм код анпакера + образец архива, тогда может кто-то захочет написать.

Но первым делом, всё таки надо проверить все существующие пакеры.


Оффлайн gepar

  • Пользователь
  • Сообщений: 10150
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #10 : 04 Февраль 2014, 14:59:41 »
Я могу попробовать помочь с упаковщиком (я знаком с алгоритмами LZ и реализовывал некоторые из них), но только если кто-то распаковщик перепишет на что-то более понятное чем на сего-асм, как предлагает Ti_ или просто скажет какой именно там алгоритм используется и нет ли в нём каких-либо нестандартных модификаций.

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #11 : 04 Февраль 2014, 16:37:07 »
DrMefistO, всё семейство алгоритмов LZ похожее да и есть велика вероятность лени разработчиков, ну мол зачем использовать другой алгоритм сжатия, когда и этот хорошо в прошлый раз справился.
Ну, несмотря на одинаковую суть, конкретная реализация может сильно различаться: как кодировать длину, байты и проч. Вон в RNC там вообще замудрили: LZ + окна, закодированные Хаффманом с хитро**ым способом чтения деревьев.
А при написании пакера поиск в окне как делал? Перебором?

Оффлайн Arkadij

  • Пользователь
  • Сообщений: 22
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #12 : 04 Февраль 2014, 22:17:53 »
Даю подсказку. Распаковщик есть в игре.  Чтобы переписать код, знать алгоритм не обязательно, только пару языков , один из которых конечно asm-68k, другой например c.
Более того можно не писать код, а извлечь написав скрипт в lua, в gens11; хоть с этим нужно разобраться.
Можно вообще ничего не писать, только найти код анпака в роме, и в конце распаковки ставить брейкпоинт, потом через dump ram/ vram выдирать. (Вариант предложенный Segaman)
Для совсем ленивых - вообще ничего не искать, просто выдирать из vram.
Вот запаковщик - это уже другое дело. Если очень хочется пакер - выложить дизасм код анпакера + образец архива, тогда может кто-то захочет написать.

Но первым делом, всё таки надо проверить все существующие пакеры.


Ты имеешь ввиду пакеры на эту игру конкретно или пакеры графики игр, сжатой таким же алгоритмом?

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #13 : 04 Февраль 2014, 22:23:29 »
Ты имеешь ввиду пакеры на эту игру конкретно или пакеры графики игр, сжатой таким же алгоритмом?
Нет, я имею ввиду пакеры от других игр, которые может быть окажутся с таким же алогритмом.

Оффлайн Arkadij

  • Пользователь
  • Сообщений: 22
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #14 : 04 Февраль 2014, 22:34:23 »
Нет, я имею ввиду пакеры от других игр, которые может быть окажутся с таким же алогритмом.

Есть пакер графики Langrisser 2 (рисовка персонажей на экране боя) , там LZSS алгоритм использован для сжатия куска рома, где закодирован рисунок. Полагаю, в Desert Strike использован тот же алгоритм сжатия, точно не уверен, я не вдавался в детали пакера. Могу выложить для ознакомления.

Добавлено позже:
Вот

Добавлено позже:
Или вот пакер Tiny Toon Adventures: Buster's Hiden Treasure.
« Последнее редактирование: 04 Февраль 2014, 22:59:50 от Arkadij »

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Desert Strike Hacking
« Ответ #15 : 04 Февраль 2014, 23:05:58 »
Могу выложить для ознакомления.
Это хорошо , но для ознакомления надо - запакованный файл, код анпакера (или адрес в роме) - если он найден, распакованный файл (желательно) из Desert Strike.