![]() |
eXeL@B —› Основной форум —› помогите разобраться |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 20 сентября 2005 09:39 · Личное сообщение · #1 Игрушка CrossCraze-Scrabble как наша игра Эрудит. www.ortsoftware.com/cc.html 4.4 мб На каком языке написана выяснила. Не запакована. Дальше, как учат в w32dasm10 Там, что надо найти, когда программа уже experied или искать сколько осталось времени и найти этот переход. Пробовала и то и то. Ну, а дальше, что менять в редакторе вообще не доходит. Какие байты на какие. . Но в статьях все так просто и доходчиво написано. Может быть, кто посмотрит эту игрушку. Помогите понять. ![]() |
|
Создано: 20 сентября 2005 14:16 · Поправил: SLayer · Личное сообщение · #2 |
|
Создано: 20 сентября 2005 14:36 · Поправил: Grey · Личное сообщение · #3 |
|
Создано: 21 сентября 2005 02:36 · Личное сообщение · #4 vickaok пишет: ну а разве не все можно сломать Сломать можно всё, что есть (за бесконечный период времени). А если в программе чего-то не хватает, сломать это никак нельзя. Только дописывать самому или взять из других версий. Как правило, слово DEOM означает, что в программе не все функции. Но в этот раз видимо главные функции есть все, хотя пока не увидишь полной версии, сказать точно - невозможно. В запросе на кряк ты написала, что есть одно ограничение (60минут). Я сразу же наткнулся на ещё две бяки: 2. Автозапуск страницы покупки (из папки игры) 3. В игре доступен только первый уровень Начнём с первого (60 минут). Лечится браком на функцию реестра (это классика). В Оли нужно установить плаг CommandBar и в нём набрать: bpx RegOpenKeyExA Сделать окно поверх всех (Alt+F5) Затем запустить (F9) Далее, через пару строк видно: 00426235 push edx ; /pBufSize 00426236 lea eax, dword ptr ss:[ebp-10] ; | 00426239 push eax ; |Buffer указатель на буфер куда будет помещено значение параметра 0042623A push 0 ; |pValueType = NULL 0042623C push 0 ; |Reserved = NULL 0042623E push CrossCra.004E9F30 ; |ValueName = "2.07d" Это имя параметра в реестре 00426243 mov ecx, dword ptr ss:[ebp-18] ; | 00426246 push ecx ; |hKey 00426247 call dword ptr ds:[<&ADVAPI32.RegQu>; \RegQueryValueExA 0042624D test eax, eax 0042624F jnz short CrossCra.00426273 00426251 cmp dword ptr ss:[ebp-10], 0 00426255 jl short CrossCra.00426273 00426257 cmp dword ptr ss:[ebp-10], 270F сравнение параметра с 9999 0042625E jg short CrossCra.00426273 Если значение больше – плохой прыг 00426260 mov edx, dword ptr ss:[ebp-10] 00426263 cmp edx, dword ptr ds:[4E5AD0] 00426269 jle short CrossCra.00426273 0042626B mov eax, dword ptr ss:[ebp-10] значение параметра в EAX 0042626E mov dword ptr ds:[4E5AD0], eax сохранить в переменную 00426273 mov ecx, dword ptr ss:[ebp-18] 00426276 push ecx ; /hKey 00426277 call dword ptr ds:[<&ADVAPI32.RegCl>; \RegCloseKey закрыть ключ Здесь было бы достаточно сделать так, чтобы переменная 4E5AD0 всегда была 0 Для этого нужно всего лишь поменять 0042624F jnz short CrossCra.00426273 на 0042624F je short CrossCra.0042626E Если не знаешь, как поменять байты, читай хотя бы мою статью: http://www.exelab.ru/art/isis673.php Обходить всю функцию не стоит в любом случае, так как настройки игры инициализируются здесь же. Таким образом, можем сделать так, чтобы игра не запоминала после выхода, сколько времени в неё играли. Но если играть более 60 минут за один запуск, будет ли игра нас ругать? Давай проверим. Мы уже знаем, какой параметр реестра отвечает за общее наигранное время. Сделаем это значение близким к критическому: HKEY_LOCAL_MACHINE\SOFTWARE\ORT Software\CrossCraze2 2.07d"=dword:0000003B В десятичной системе это 59. Посмотрим, что произойдёт, если запустить игру. Ничего. Игра не мешает нам даже за пределами 60 минут, пока мы не перезагрузимся. Значит, проблема решена. 2 Автозапуск страницы с предложением купить игру (страница из папки игры) Просто удалить файл с кричащим названием "readme.exe" =). 3 В игре доступен только первый уровень (однако все остальные уровни видно на картинке) Если ещё интересно, можно попробовать победить и это. ----- Всем привет, я вернулся ![]() |
|
Создано: 21 сентября 2005 04:24 · Личное сообщение · #5 Bitfry Спасибочки огромное за такой подробный ответ Все попробую сделать как ты написал. А я вот еще хотела узнать каким распаковщиком можно распоковать Armadillio 3.6(если неправильно написала то извини, ты меня поймешь) Дело в том, что эта же игрушка есть в другом варианте Она упакована в Armadillio 3.6 Там нужно вводить рег.номер. Вот если бы я ее распоковала я могла попробовать другой способ взлома. Потому что примеров статей с рег.номерами много. Я облазила весь интернет, но поняла, что для Armadillio 3.6 распаковщика нет надо в ручную. Может быть все таки есть программа для распаковки Armadillio Killer не помогает. ![]() |
|
Создано: 21 сентября 2005 05:15 · Личное сообщение · #6 vickaok пишет: Там нужно вводить рег.номер. А вот этот вариант почти наверняка нереальный (в наших временных масштабах). Armadillia пакует программу так, что ключ необходим для распаковки. Если программа с Армой запускается без ключа и чего-то не делает, значит, без ключа ты этого не получишь (если не дебил паковал). А если она вообще не запускается, ты её не запустишь. Перебор ключа закончится после распада Солнца. Хотя сам я по распаковке, мягко говоря, не спец, ни один протектор ещё не распаковывал. ----- Всем привет, я вернулся ![]() |
|
Создано: 21 сентября 2005 05:40 · Личное сообщение · #7 Bitfry ничего не получается. я нашла значение в oly щелкнула по нему два раза выскочило окошко (правда там было написано assemble) там я поменяла. это правильно или надо менять в редакторе или надо еще как то сохранить. потом я запускаю прогу а она продолжает отсчитывать минуты только не сердись если что не так - я писала что я тормоз ![]() |
|
Создано: 21 сентября 2005 05:49 · Личное сообщение · #8 |
|
Создано: 21 сентября 2005 06:02 · Поправил: Bitfry · Личное сообщение · #9 Bitfry пишет: Если не знаешь, как поменять байты, читай хотя бы мою статью: http://www.exelab.ru/art/isis673.php[/i] Цитата из этой статьи: Для ассемблирования в Olly достаточно нажать пробел на нужной строке. После этого изменения хорошо бы перенести в файл. Мышиное меню, Copy to executable/All modification, copy all. Затем мышиное меню, Save File. Всё, этого нага больше мы не увидим. После модификации файла и сброса (<<) Olly воспринимает этот файл как новую программу, и заново проводит анализ. Старые бряки ушли в прошлое. Запускаем программу и радуемся отсутствию стартового недоразумения. ----- Всем привет, я вернулся ![]() |
|
Создано: 21 сентября 2005 06:59 · Поправил: vickaok · Личное сообщение · #10 Bitfry ой мне даже не верится , ну просто класс!!!!!!!!!! получилось спасибо огромное миллион раз!!!!!!!!! а вот я так поняла то, что я поменяла в регистре поможет играть дальше , если 60 минут закончатся. правильно? только вот я опять не уверена правильно ли я поменяла там было три значения одно было по умолчанию и там я написала, то значение, которое ты сказал правильно? ![]() |
|
Создано: 21 сентября 2005 07:56 · Личное сообщение · #11 vickaok пишет: а вот я так поняла то, что я поменяла в регистре поможет играть дальше , если 60 минут закончатся. правильно? только вот я опять не уверена правильно ли я поменяла там было три значения одно было по умолчанию и там я написала, то значение, которое ты сказал правильно? Ничего не понял из твоего вопроса/высказывания. Хотя если подумать... Ты, наверное, спрашиваешь что-то про реестр... Но вот что. Если ты изменила переход, как я написал, значение в реестре, которое отвечает за общее время игры, всегда будет ноль. Даже если ты его сама изменишь, всё равно оно станет ноль при следующем запуске игры. ----- Всем привет, я вернулся ![]() |
|
Создано: 21 сентября 2005 08:54 · Личное сообщение · #12 |
<< . 1 . 2 . |
![]() |
eXeL@B —› Основной форум —› помогите разобраться |