russian ROMhacking
[ Новые сообщения · Участники · Правила форума · Поиск ]
Страница 1 из 11
Форум ромхакеров » Всё о ромхакинге » Ромхакинг » Чексуммы SEGA игр (2 байта) (Хеш-суммы SMS, GG, SMD, Genesys)
Чексуммы SEGA игр (2 байта)
ПАУКДата: Суббота, 20.06.2015, 00:26 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 216
Статус: Оффлайн
Для 16-ти бит есть программки:
http://www.romhacking.net/utilities/342/
http://emunix.org/posts/sega-mega-drive-fix-checksum/
...а для восьми нету.

Никто не знает, как рассчитывать чек-суммы в Sega Master System и Sega Game Gear играх?
Тут написано, что сама чексумма занимает 2 байта и находится по смещению $7FFA => http://www.smspower.org/Development/ROMHeader
А дальше что? Малейшее изменение в роме, игра не запускается.
 
babulyaДата: Суббота, 20.06.2015, 09:49 | Сообщение # 2
Майор
Группа: Заблокированные
Сообщений: 99
Статус: Оффлайн
Что за игры?
 
ПАУКДата: Суббота, 20.06.2015, 10:08 | Сообщение # 3
Полковник
Группа: Проверенные
Сообщений: 216
Статус: Оффлайн
Да вроде все восьмибитные сегавские игры... Ninja Gaiden, Fantastic Dizzy...
На эмуляторе Regen особенно заметно. Fusion пропустил Диззи [SMS], а Диззи [GG] не хочет.

Причём, как я понял, игра начинается со смещения $8000, но если сделать изменение до игры (не знай, чо там находится. биос?), то всё равно не работает.
А на SMD игра начинается со смещения $2000, до игры чексумма не проверяется.
Пробовал тупо перекинуть данные SMS игры со смещения $8000 в SMD игру на смещения $2000. Вышеуказанная утилита показывает не такую чексумму, какая указана в SMS игре по смещению $7FFA. Или я что-то не так сделал, или на восьми и 16 битах разная проверка чексумм.


Сообщение отредактировал ПАУК - Суббота, 20.06.2015, 10:20
 
TLTДата: Воскресенье, 21.06.2015, 23:31 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 1666
Статус: Оффлайн
Ждал, что Гайвер отпишет, он хакал SMS-игры... Ну да ладно.

А там не защита в играх?

А по теме чексуммы есть инфа на английском:

http://www.smspower.org/Development/ROMHeader

Как понимаю, всё просто. См. есть отличия - там снизу ссылки. Почитай, отпишись, получилось или нет.



Вот так.
 
ПАУКДата: Понедельник, 22.06.2015, 14:34 | Сообщение # 5
Полковник
Группа: Проверенные
Сообщений: 216
Статус: Оффлайн
Да вот там ничего и непонятно по той ссылке, ни то, как вычислять эту непонятную двухбайтовую чексумму, ни то, какую область вычислять.

А эта чексумма, я так думаю, и есть защита. Только нафига она нужна?

А у Codemasters, смотрю, чексумма в другом месте находится: http://www.smspower.org/Development/CodemastersHeader
И почему-то их две.
Код

$7fe6-7fe7  Checksum
$7fe8-7fe9  $10000 - checksum

Кто вообще до такого гемора додумался? И зачем?
 
TLTДата: Понедельник, 22.06.2015, 18:53 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 1666
Статус: Оффлайн
Если не понимаешь, то заюзай готовое решение – утилиту SMS Check.
Я не пользовался, лишь знаю, что есть такая. Она должна работать с несколькими вариантами проверки.



Вот так.
 
Форум ромхакеров » Всё о ромхакинге » Ромхакинг » Чексуммы SEGA игр (2 байта) (Хеш-суммы SMS, GG, SMD, Genesys)
Страница 1 из 11
Поиск: