Правила, действующие в этом форуме и всех его подфорумах:
1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)! 2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)! 3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить! 4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума! 5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен! 6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение. 7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме! 8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения. 9) Использование смайликов разрешается не более 3-х подряд!
А его точно надо подписывать? Глянул диск Дума, там тоже нули в конце... правда может этот образ игры на 3DO не запускается? Нет приставки проверить (хотя на эмуле прёт с обычным биосом). И в rom_tags смещения к сигнатуре баннера тоже нету...
Точно, во всяком случае в блю форест стори и по'ед... Попробуй в них занулить или просто испоганить концовку, они с обычным биосом не запустятся. MNEMO же подписал исправленный баннерскрин по другому в [3DO] Blue Forest Story SE (from MNEMO)
_______________________________________
MUTHAFUCKASSSSCAN'TSTOPPPMEEEEEEEEEEE!!!!!!!!!!! Все мы живём в Царствии Небесном, просто слепы и не видим этого.
Утилита cdoty должна подписывать баннер. Только что проверил. Открыл Blue Forest Story SE Edition.iso, нашёл эти 64 байта, поставил нули - игра не запускается. Прогнал исошку с нулями через 3DOEncrypt.exe - игра стала запускаться (при этом если уж придираться, оригинал образа игры отличается некоторыми байтами от переподписанной, но ведь запускается!) И алгоритм получения этой подписи не очень сложный. Только возвести число в степень "1293424431840119233399718499814761414763663098446392305026374327045918630228589915421353480949734793978038214646649008563728161865424388240308738298816913" это надо умудриться посчтитать :)))
Утилита cdoty должна подписывать баннер. Только что проверил. Открыл Blue Forest Story SE Edition.iso, нашёл эти 64 байта, поставил нули - игра не запускается. Прогнал исошку с нулями через 3DOEncrypt.exe - игра стала запускаться
А сам баннер точно подписан? А то я смотрю свой DooM, там действительно баннер занулён. Возможно, некоторые игры не проверяют подпись в баннере... МНЕМО где-то писал, что при сборке своей первой хоумбрю 3DO Homebrew paсk 1 от Mnemonic нашёл дырку (лазейку)... Может, просто какую строку в каких-нибудь системных файлах надо поменять/удалить?
aliast писал(а):
Только возвести число в степень "1293424431840119233399718499814761414763663098446392305026374327045918630228589915421353480949734793978038214646649008563728161865424388240308738298816913" это надо умудриться посчтитать :)))
Это как? Какое число, в какую степень?
_______________________________________
MUTHAFUCKASSSSCAN'TSTOPPPMEEEEEEEEEEE!!!!!!!!!!! Все мы живём в Царствии Небесном, просто слепы и не видим этого.
Возможно, некоторые игры не проверяют подпись в баннере...
А это зависит от содержимого файла rom_tags. В нем написано какие файлы нужно подписать, а какие нет. В думе баннерскрина нет. За подпись баннера отвечают байты "0F14" в rom_tags. Если они есть, значит баннер подписывается, если нет то нет.
ПАУК писал(а):
Это как? Какое число, в какую степень?
Берётся Bannerscreen, обрезаются 64 байта с нулями и считается MD5 сумма получившегося файла. Допустим, в BFS MD5 баннера равна
1ffffffffffffffffffffffffffffffffffffffffffffffffffffff003020300c06082a864886f70d0205050004109b0ef8605a3e9c6322f13ee2f47c54a1^D Mod N
т.е. наше число возводится в степень D и результат умножается по модулю на число N (кнопочка mod на виндовом калькуляторе). Здесь числа D и N приведены в первом посте этой темы. Виндовый калькулятор такие 125-значные цифры обрабатывать не умеет, так что на коленке расчёты сложно произвести. По идее на выходе получим 64-значную подпись, но я не проверял. Её и нужно воткнуть в конец Bannerscreen.
Последний раз редактировалось aliast 27 авг 2014, 16:58, всего редактировалось 1 раз.
Ещё я не понял, откуда ты взял цепочку байт 1ffffffffffffffffffffffffffffffffffffffffffffffffffffff003020300c06082a864886f70d020505000410, и для чего её к MD5 складывать. Может, там и не MD5 ваще надо? Может, там вместо нескольких десятков f какой-нибудь SHA-1 впихнуть надо...
Кстати, DooM не использует банер ваще, он там для понта валяется, в Люсьен Квест аналогично. А во флешбеке его ваще нету. А то что rom_tags указывают, что смотреть на подпись - это скорее всего, ведь только их достаточно поменять для подписи. Надо будет их поковырять
Ryudo Надо разобраться с подписью именно банера, без всяких пересборок диска. Ты же банер не подписывал?
Добавлено спустя 47 минут 30 секунд: Да, и кстати, фиг ещё знает в чём эти ключи исчисляются, в десятках или хексах, написаны-то вроде как в десятках Хотя, так и так, всё равно 128 байт на выходе. А ещё непонятно, почему их там 2 комплекта вместо одного, типа одни шифруют, другие расшифровывают? Или второй как запасной?
_______________________________________
MUTHAFUCKASSSSCAN'TSTOPPPMEEEEEEEEEEE!!!!!!!!!!! Все мы живём в Царствии Небесном, просто слепы и не видим этого.
Из исходников 3DOEncrypt. Кстати, эту штуку надо не справа, а слева к MD5-сумме прикреплять, я ошибся (уже поправил пост выше). Проверил - результат у меня совпал с подписью в баннере. Должно получиться 128 значное число, т.к. 1 байт записывается в виде двух цифр. Значит 128/2 = 64 байт подписи.
ПАУК писал(а):
128 байтная подпись получается
Ну то есть всё верно
ПАУК писал(а):
Или второй как запасной?
Вторым комплектом ключей подписываются три файла из папки System\Kernel. Всё остальное подписывается первым набором ключей.
А зачем тебе подписывать банер без разборки диска ?
Чтоб диск не разбирать А ваще, взломать, конечно
Добавлено спустя 18 минут 45 секунд:
aliast писал(а):
Ну то есть всё верно
Да, точно, теперь всё норм
Добавлено спустя 2 часа 1 минуту 47 секунд: На всякий случай закину архив с тем онлайн калькулятором во вложение, а то калькулятор больших величин я так и не нашёл, а этот вроде бы и в автономном режиме работает в Mozila FireFox.
Осталось провести эксперименты и убедитьбся, что ничего скорее всего работать не будет или будет, но не всегда - т.к. есть ещё файл signatures, который тоже как-то на что-то влияет.
Вторым комплектом ключей подписываются три файла из папки System\Kernel
А вот насчёт этой папки я немного сомневаюсь. В разных играх попадаются идентичные файлы А один файл в блю форест стори и люськин квест имеет одинаковую концовку и начало, только середина разная. Что же он, в середине подписывается?
Добавлено спустя 4 минуты 6 секунд:
Versus писал(а):
а тут что? Все в куче?
Там ваще каша какая-то
Добавлено спустя 1 час 8 минут 26 секунд:
Versus писал(а):
А файл signatures? В образе диска, созданным MPW Shell он заполнен нулями, а после подписи диска заполнен данными.
A rom_tags?
_______________________________________
MUTHAFUCKASSSSCAN'TSTOPPPMEEEEEEEEEEE!!!!!!!!!!! Все мы живём в Царствии Небесном, просто слепы и не видим этого.
Я так понял что в концах файлов ставится не подпись, а контрольная сумма. А в signatures как раз таки подпись. Хотя чем одно отличется от другого пока загадка. Ну контрольная сумма имеет длину 64 байта, а сигнатуры пару кило весят
В rom tags указывается какие именно файлы следует подписать. Утилита cdoty позволяет подкинуть в образ строго определенный, т.е. неизменный rom_tags и на его основе подписывается определенный набор файлов. Другими словами можно все (или не все?) игры подписать одним и тем же rom_tags. Будут подписаны одни и те же файлы, хотя сами подписи будут отличаться, т.к. содержимое этих файлов в разных играх неодинаково. Про файл signatures ничего сказать не могу :(
Решил я попытать маленький образ TestJoy (from Sdevel). Разобрал его программой Альтмера "OperaFS[De]Compiller". Собрал ей же, не меняя файлов. Образ стал больше оригинала весить Собрал ещё два таких же. Все три собранных файла весят одинаково по 3190 КБ (3 266 560 байт), но с разными хеш-суммами. Стал смотреть сравнилкой Мальвины в чём разница. А разница там есть, и не фиговая Отмечено красным.
Получается, что "OperaFS[De]Compiller" собирает образы рандомно. Не знаю, что это за изменения, но на работоспособность игры они вроде не влияют. С пропатченным биосом образы запускаются.
Добавлено спустя 1 час 50 секунд: Прогнал их через "3DOEncrypt". Весить стали больше на 10 КБ - по 3200КБ (3 276 800 байт). Теперь они запускаются с оригинальным биосом. Разница некоторых показаний есть...
Что это за показания, неизвестно Разница между первым тестовым файлом и вторым теперь такая...
Добавлено спустя 25 минут 4 секунды: Ну а теперь самое интересное - из-за чего я это всё затеял. Сравниваем не подписанный и подписанный файлы. Смотрим, что там наворотил "3DOEncrypt".
Всего восемь изменений. И восьмое - это увеличение файла на 10 КБ, почти не считается. У всех трёх образов изменились одни и те же участки.
Добавлено спустя 42 минуты 12 секунд: Файл rom_tags у Sdevel'а в образе такой (Весит 256 КБ).
"3DOEncrypt" по нему находит 8 ром тегов, включая end tag...
С длинной всё ясно, а с секторами непонятно - только lauchme tag соответствует
Добавлено спустя 1 час 1 минуту 8 секунд: Едем дальше... Методом дедукции вычисляем, какие изменения после подписи нужны, чтобы запустить диск с нетронутым оригинальным биосом. Вот эти изменения...
Образ запускается на эмуляторе с непропатченным биосом. Из восьми нужны только четыре. И они находятся в самом начале. Изменения выделены зелёным. Слева не подписано, справа подписано.
Не знаю, что там в начале, а вот это rom_tags. После подписи он слегка изменился.
Не думаю, что последние 64 байта подписи вычисляются по MD5 ром тегов... А по чему тогда?
Добавлено спустя 27 минут 35 секунд: Записал на болванку полуподписанный образ. Дальше баннерскрина не прёт. Видать, эмулятору на вторую половину подписи пофиг. Либо так записалось фигово...
Добавлено спустя 51 минуту 49 секунд: Тогда уж покажу, как изменяется файлик signatures после подписи.
Дикий лес
Добавлено спустя 52 минуты 11 секунд: А вот в этих фиолетовых участках подписи (те участки, которые выше зелёным были подсвечены) различаются во всех трёх образах.
Если бы образ не собирался каждый раз рандомно с разной чек-суммой, то, думаю, они бы не различались.
_______________________________________
MUTHAFUCKASSSSCAN'TSTOPPPMEEEEEEEEEEE!!!!!!!!!!! Все мы живём в Царствии Небесном, просто слепы и не видим этого.
Да просто визуально показал весь процесс. На практике вычислил, что подписываются файлы "signatures" и "rom_tags" (вроде aliast об этом выше писал). Выделено всё это зелёным. Хотя для чистоты эксперимента надо было взять голый "signatures".
Узнал, что "OperaFS[De]Compiller" собирает разные образы из одних и тех же файлов, одинаковые она почему-то не собирает. Из-за этого подпись тоже бывает разная. Выделено фиолетовым.
Ещё узнал, что эмулятору (FreeDO 1.9), похоже пофиг на подпись в "signatures", не проверяет он её, проверяет только "rom_tags". Возможно, поэтому у нашего французского друга не получилось сделать рабочую на приставке сборку "Vigoroth the delivery man 3DO (v1.1)" => 3DO Homebrew games - игры от blabla
В общем, я, наверно, зря потратил время, вот и весь вывод
Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения