Разработка и ромхакинг > Ромхакинг и программирование
Super Metroid (SNES) помогите вырезать защиту от пиратства
(1/1)
Nikooone:
Приветствую светлые умы по хакам. Помогите выдрать из кода игры эту защиту, на которой все и останавливается, я не понимаю что нужно этой игре еще.
Картридж собираю без MAD чипа на одной TSOP флешке 4мб, без ОЗУ для сейвов пока что, консоль (Е) региона с отключенным CIC.
Пробовал разные версии ромов, возвращал CIC в консоли, а на картридже PIC прошитый стоит. Бесполезно, получаю одно и тоже каждый раз, и дальше этого экрана дело не уходит.
А так же приносили мне картридж сборник с али для снес с озу и батарейкой, там аналогичная картина наблюдалась.
CaH4e3:
хаха
Nikooone:
лаконично  :-\
CaH4e3:
собери нормально карик с правильной озу и будет тебе счастье

"посмотрите, почему у меня машина не едет. я пока собрал без колес и двигателя, но она почему-то не едет" хаха
Nikooone:
Судя по тому что алишный имел на борту это озу, и другие игры на том сборнике работали с сохранениями - озу не причем.
CaH4e3:
судя по всему проблема в логике. если у этой игры есть защита и проверяет она для этого озу, то алишный карик - первый, кто под эту защиту попадает. сколько у того карика озы, а? а сколько у оригинала? сам догадаешься в чем проблема?
Rumata:

--- Цитата: Nikooone от 26 Ноябрь 2018, 00:55:45 ---Картридж собираю без MAD чипа
--- Конец цитаты ---
mad - memory address decoder


Добавлено позже:
Да, и если НТСЦ игру запустить на ПАЛ приставке, то тоже будет не хорошо.
А CIC тут вообще ни при чём
Nikooone:
ориг 8кб. На алишном 32. не думаю что дело вообще в этом.


--- Цитата: Rumata от 26 Ноябрь 2018, 13:27:59 ---mad - memory address decoder

--- Конец цитаты ---

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

--- Цитата: Nikooone от 26 Ноябрь 2018, 13:34:31 ---ориг 8кб. На алишном 32. не думаю что дело вообще в этом.

--- Конец цитаты ---
ты не думай, ты слушай, что тебе умные люди говорят. ДЕЛО В СРАМ. ЕЕ ДОЛЖНО БЫТЬ 8К, ИГРА ПРОВЕРЯЕТ, МИРРОРЯТСЯ ЛИ 8К ДВА РАЗА ПОДРЯД. если нет - легал дискламер. замкни на али карике два старших адреса озу и проверь.

я конечно знаю и как это вообще отключить, но это за отдельную плату лол

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

--- Цитата: Rumata от 26 Ноябрь 2018, 13:27:59 ---Да, и если НТСЦ игру запустить на ПАЛ приставке, то тоже будет не хорошо.

--- Конец цитаты ---
его дискламер указывает, что пускает он европейку. у нтсц более жесткий текст и он продублирован на английском и японском. кстати для несоответствия консоли региону карика в игре другое сообщение выводится. вот такое
Rumata:
У СНЕС достаточно сложная организация картриджа, это не Сега. Лепить 2 ПЗУ не обязательно
https://www.youtube.com/watch?v=10426ml6h6Q
Rumata:

--- Цитата: CaH4e3 от 26 Ноябрь 2018, 13:39:08 ---кстати для несоответствия консоли региону карика в игре другое сообщение выводится.
--- Конец цитаты ---
Я знаю (в эмуляторе легко проверяется). Просто для справки, а то всё обычно валят на CIC. А CIC работает только с сигналом сброса и если что не так то вообще никаких сообщений не будет
Nikooone:

--- Цитата: Rumata от 26 Ноябрь 2018, 13:48:42 ---У СНЕС достаточно сложная организация картриджа, это не Сега. Лепить 2 ПЗУ не обязательно
https://www.youtube.com/watch?v=10426ml6h6Q

--- Конец цитаты ---
О, это уже унтереснее, такой донор имеется.
Спасибо))) буду рисовать тсопку под дип.
Этих друзей отложу тогда на что-то по проще.
gegmopo3:
http://gegmopo3.magicteam.net/File/SM_AntiPiracy_cracked_MopoZ.rar
Тут только нужен дебаггер и 5 минут времени. Не за что.

PS На регион тоже защита убрана.
CaH4e3:
дебаггер и спешка приводят к таким кривым хакам лол любой ром любого региона хачится одним и тем же байтом. найдешь сам?
gegmopo3:
регион проверятся по регистру $213f 0001 0000 (0х10) бит, если 1 = ппу пал, если 0 - нтсц.


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

--- Цитата: CaH4e3 от 28 Ноябрь 2018, 21:46:56 ---дебаггер и спешка приводят к таким кривым хакам лол любой ром любого региона хачится одним и тем же байтом. найдешь сам?

--- Конец цитаты ---
Если ты этим часто занимаешься, то в большинстве случаев знаешь, что делаешь.
CaH4e3:
лол нене я снесом не занимаюсь. я про общий так сказать обзор через замочную скважину. вот у тебя 6 байт патча лол, обошел значит проверку региона, потом дал стереть сейвы, перепрыгнул проверку аж прямым полным жампом и дал вернуть сейвы. лол хотя можно было
А. от начала процедуры СРАЗУ прыгнуть на ее конец, обойдя все - прямой полный жамп - 5 байт патча
Б. отпатчить целиком вызов функции проверки защиты вообще - 3 байта патча
В. заменить любой относительный бранч сразу на конец файла или убрать что-то, чтобы прыгнуло сразу на конец - 2 байт патча
Г. ну и наконец найти один отладочный байт в роме, который использовали разрабы, чтобы включать дебаги и отключать проверики защит - 1 байт лол

и заметь, последний пункт вообще впринципе элементарно сделать, ну если нет спешки, конечно... там даже не надо в дебри лезть. в самой процедуре все есть лол. но ведь НЕТ!

ах да, совсем забыл. любую процедуру можно обойти, вставив в ее начало опкод возврата лол - 1 БАЙТ!
gegmopo3:

--- Цитата: CaH4e3 от 29 Ноябрь 2018, 23:50:12 ---лол нене я снесом не занимаюсь. я про общий так сказать обзор через замочную скважину. вот у тебя 6 байт патча лол, обошел значит проверку региона, потом дал стереть сейвы, перепрыгнул проверку аж прямым полным жампом и дал вернуть сейвы. лол хотя можно было
А. от начала процедуры СРАЗУ прыгнуть на ее конец, обойдя все - прямой полный жамп - 5 байт патча
Б. отпатчить целиком вызов функции проверки защиты вообще - 3 байта патча
В. заменить любой относительный бранч сразу на конец файла или убрать что-то, чтобы прыгнуло сразу на конец - 2 байт патча
Г. ну и наконец найти один отладочный байт в роме, который использовали разрабы, чтобы включать дебаги и отключать проверики защит - 1 байт лол

и заметь, последний пункт вообще впринципе элементарно сделать, ну если нет спешки, конечно... там даже не надо в дебри лезть. в самой процедуре все есть лол. но ведь НЕТ!

ах да, совсем забыл. любую процедуру можно обойти, вставив в ее начало опкод возврата лол - 1 БАЙТ!

--- Конец цитаты ---
Я асм даже не писал. Можно было красиво сделать, интро забабахать и прочего. Но накой? Я мог бы все процедуры убрать проверки убрать, они делаются все на одном роуте, и заместо JSL поставить NOP #4 или 1 байтом, поставить rtl в начале процедуры. Я запустил дебаг, тресером прогнал участок, и тупо прямо в дебагере в хекс-редакторе поставил джамп и у проверки что-то сделал, толи bra, то ли два NOP. Вот если бы меня попросил товарищ, которые репродукцию делает, для него я всегда делаю все цивильно, кулюторно и гуманно. А тут хер с горы, мне не жалко было потратить 5 минут времени и особо не шарясь в отчетах трейсера. В пять минут входит, скачать ром, запустить, бряк поставить и тут же заменить не нужное и не делая проекта нового, создавать папку для асма, текстовый документ, компилятор, батник. это бы еще 2 минуты бы заняло, и еще пару минут проштудировать весь дизасм, до начала процедуры. Ну накой? Костыли - они и в Африки костыли. Результат есть? Есть. Ему то какая разница, как это сделано. Всегда можно что-нибудь оптимизировать.


Добавлено позже:
Я бы вообще даже поленился бы чей-то патч глядеть, что он там делал :) Так что, говори адрес, я тебе пирожок отправлю, за твоё любопытство.
CaH4e3:
так а я о чем сказал? дебаггер и спешка. лол про лень я не верю - ты же взял ром и полез в него. было бы мне лень, я бы даже не стал лол остальные отмазки не катят. так и скажи, да, я сделал уродский патч, от которого кровь течет глазами, но мне пофик лол чего оправдываться то
gegmopo3:
Суть в том, что работает и нет багов. А на реализацию - пофиг, мне денег за это не платят
Навигация
Главная страница сообщений

Перейти к полной версии