![]() |
eXeL@B —› Вопросы новичков —› Помогите сломать cd-check |
Посл.ответ | Сообщение |
|
Создано: 14 апреля 2013 12:22 · Личное сообщение · #1 Добрый день. Пытаюсь отучить игру RollerCoaster Tycoon от диска, но пока не выходит. Нашел где игра проверяет файлы в папке Data, вот в этом Code:
вызове находится процедура проверки. Т.е. игра ищет файлы в этой папке, затем читает отсутствующие файлы с образа и если не находит (образ не смонтирован) выводит месседжбокс. Пропатчил вот здесь (поставил retn в начало процедуры). Code:
После этого игра запустилась, но при попытке начать новую игру, или пройти обучение нас просто выкидывает обратно в главное меню. Так же можно занопать все это Code:
или изменить Code:
на push 008BFA4C Но результат будет аналогичный предыдущему, стартует, но поиграть нельзя. Так же заметил, что если распаковать установочные файлы с образа на диск и установить игру, она запуститься, но опять же, дальше меню не пустит. Т.е. игра проверяет откуда она была установлена, если с жесткого диска, то поиграть нельзя. Пробовал ставить бряки на GetDriveType, GetLogicalDrives, GetLogicalDriveStrings но они не срабатывают. Прошу помощи. Собственно ![]() |
|
Создано: 16 апреля 2013 18:42 · Личное сообщение · #2 Игру не качал - так как влом ее ставить (а ставить ее нужно). GetLogicalDriveStringsA есть дальше, правда до него не доходит - ругается раньше что диска нет: 005870FA |. FF15 D0B07800 CALL DWORD PTR DS:[<&KERNEL32.GetLogicalDriveStringsA>] 00418E41 - не убивай, а обойди (там чекаются нужные для игры файлы - "\Data\CSG1.DAT"). Посмотри как запускается с диском как без него. Code:
Игру все-равно прийдется ставить - так как она пишет в реестр нужную. инфу для запуска (вроде это CDKey и путь (от)куда она поставлена. Догадка: Скорее всего откуда так как возможно что указанный выше файл должен быть на диске - иначе зачем чекать файл и место откуда поставлена игра ;). ----- Don_t hate the cracker - hate the code. ![]() |
|
Создано: 17 апреля 2013 10:43 · Личное сообщение · #3 mysterio пишет: 00418E41 - не убивай, а обойди Да без толку. Патчил я jnz на jmp по адресу 00418F48. Запустится то она запускается, но при попытке начать новую игру выкидывает обратно в главное меню. mysterio пишет: она пишет в реестр нужную. инфу для запуска Угу. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Fish Technology Group\RollerCoaster Tycoon Setup Значение "SetupPath" там имя диска с которого она была установлена. Только я об этом уже писал в первом сообщении. ![]() |
|
Создано: 17 апреля 2013 13:27 · Личное сообщение · #4 |
|
Создано: 17 апреля 2013 16:14 · Личное сообщение · #5 bytec0de пишет: Т.е. игра ищет файлы в этой папке, затем читает отсутствующие файлы с образа и если не находит (образ не смонтирован) выводит месседжбокс. В те далёкии времена жёсткий диск объёмом 4 Gb были роскашью поэтому часть данных игры хранилось на компакт диске,скопируйте все данные с папки Data\ на компакт диске в папку \Program Files\Fish Technology Group\RollerCoaster Tycoon\Data\ и будем вам счасть и удовольствие ![]() ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 17 апреля 2013 17:20 · Поправил: ELF_7719116 · Личное сообщение · #6 ClockMan пишет: данные с папки Data\ на компакт диске в папку \Program Files\Fish Technology Group\RollerCoaster Tycoon\Data\ и будем вам счасть и удовольствие ))) Помню, такая хрень еще была в Heroes. Но там диск проверялся. Еще в DarkColony было! Помню, удивлялся тогда, почему все раздачи шли одним образом для эмулятора - пришлось самому исправлять баг ![]() ![]() |
|
Создано: 17 апреля 2013 17:48 · Поправил: KingSise · Личное сообщение · #7 Я тоже со своей программулинкой вклинюсь, может защита похожа. скачать тут: http://rghost.ru/45347869 до чего дошел: с помощью CreateFileA открываем каждый диск ("\.\D:") Code:
в EAX будет 64, как я понимаю это дескриптор, который будет использован функцией DeviceIOControl ниже, что бы получить доступ к таблице разделов диска. Code:
если что, тут поправьте: Участок кода выше заполняет читает первые 0x800 байт диска. Code:
тут мне немного непонятно, еще раз читаем 800h данных с диска в тот же буфер? Откуда именно??: Code:
дальше цикл сравнения двух строк: с диска и того что зашит в программу 81 D9 3B 1D 68 42 0B 41 AE B4 DC D7 BB 21 6C FA 00502BE1 F3:A7 REPE CMPS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] Ну а дальше мне уже не понятно, ибо оригинального диска у меня нет... ----- -=истина где-то рядом=- ![]() |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 17 апреля 2013 17:57 · Поправил: ELF_7719116 · Личное сообщение · #8 |
|
Создано: 17 апреля 2013 21:18 · Поправил: bytec0de · Личное сообщение · #9 Cigan пишет: Что проще, пропиши в SetupPath путь к установленной игре и скопируй туда в папки не достающие файлы. bytec0de пишет: Так же заметил, что если распаковать установочные файлы с образа на диск и установить игру, она запуститься, но опять же, дальше меню не пустит. Т.е.игра проверяет откуда она была установлена, если с жесткого диска, то поиграть нельзя. Cigan пишет: Ну а дальше если не пойдет проверяй АПИ которые отвечают за проверку диска. bytec0de пишет: Пробовал ставить бряки на GetDriveType, GetLogicalDrives, GetLogicalDriveStrings но они не срабатывают. Подскажи еще АПИ которые можно попробовать. ClockMan пишет: скопируйте все данные с папки Data\ на компакт диске в папку \Program Files\Fish Technology Group\RollerCoaster Tycoon\Data\ и будем вам счасть и удовольствие ))) Спасибо, эту процедуру тоже проделывал, результат все тот же, игра запускается но поиграть нельзя. ![]() |
|
Создано: 18 апреля 2013 11:14 · Поправил: ClockMan · Личное сообщение · #10 bytec0de пишет: Спасибо, эту процедуру тоже проделывал, результат все тот же, игра запускается но поиграть нельзя. Процедура проверки на наличее файлов Code:
далее заходим в CALL 00418E4E Code:
далее Code:
----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 18 апреля 2013 11:33 · Личное сообщение · #11 |
![]() |
eXeL@B —› Вопросы новичков —› Помогите сломать cd-check |
Эта тема закрыта. Ответы больше не принимаются. |