Дабы не утомлять читателя долгим отступлением, скажу сразу, что механизм защиты игр от Alawar неоднократно менялся на протяжении последних лет, каждый раз оставаясь при этом неприглядным образцом лени разработчиков и нежелания компании навести порядок в своем хозяйстве.
Компания Alawar является ведущим дистрибьютором игр, произведенных сторонними разработчиками. Отчасти это оправдывает слабость защиты, поскольку программисты компании не имеют доступа к исходному коду публикуемых игр, и вынуждены довольствоваться внешней «навесной» защитой собственной разработки. Другое дело, что эта защита не представляет собой сколько-нибудь серьезного препятствия. Внешне она проявляется в том, что все игрушки имеют временное ограничение (от 20 минут до часа); по истечении этого времени игрушка отказывается запускаться, предлагая приобрести лицензию на ее использование («купить игру»).
Действующий в данное время механизм основан на использовании программы-оболочки (так называемый, «wrapper») производства Alawar, проверяющей наличие лицензии на игру и факт «легитимности» ее запуска. В случае, если все проверки проходят удачно, оболочка запускает непосредственно саму игру. Давайте рассмотрим все это на примере игры "Римская империя" (я зашел на страничку Alawar-a, и скачал первую попавшуюся):
После установки игрушка создает ярлык в Главном меню:
Видим, что он ссылается на файл Romopolis.exe
в папке, в которую установилась игра. Следуем за «белым кроликом»:
По соседству с нашим Romopolis.exe
можно заметить файл Romopolis.wrp.exe
. Так вот, Romopolis.exe
– это wrapper-оболочка от Alawar, производящая вышеупомянутые действия, а Romopolis.wrp.exe
– исполнимый файл игры, который запускается оболочкой по окончании проверок. Не торопитесь его запускать, сейчас он работать не будет.
Существует два варианта защиты игрушки от Alawar, различающихся лишь деталями:
Program Entry Point
) в оригинальном файле игры;
Если говорить вкратце, то точка входа в PE-файле указывает, с какого места в секции кода начинается выполнение программы. Смотрим на инструкции в точке входа Romopolis.wrp.exe
:
Совсем не похоже на типичный Entry Point
для Delphi, в котором в действительности скомпилировано приложение. Обратите также внимание на самую первую инструкцию («RET»
), которая служит для немедленного возврата в вызывающую функцию. То есть, в данном случае, при прямом запуске выполнение программы прекращается на первом же операнде после точки входа, и результатом будет выход в систему. «Почему же тогда программа может запускаться через оболочку Alawar?», - спросите вы. А вот почему: Alawar-овский wrapper сначала загружает Romopolis.wrp.exe
в память, затем прописывает в коде переход на настоящую точку входа («защита первого рода», см. выше) или исправляет данные по адресу точки входа («защита второго рода»), и лишь потом передает ему управление. Дело остается за малым: чтобы для запуска Romopolis.wrp.exe
обойтись без оболочки, нужно:
Для новичков, самым простым способом узнать тип защиты (и, соответственно, в зависимости от типа защиты – настоящее значение точки входа программы или данных по ее адресу), является «подглядывание» за wrapper-ом. Запускаем оболочку, жмем «Играть» и некоторое время ждем, пока игрушка полностью запустится…
..после чего сворачиваем окно по Alt+Tab, запускаем утилиту PETools, и видим в списке процессов наш Romopolis.wrp.exe
:
Логично предположить, что его уже обработал Alawar-овский wrapper, и на данный момент исполняемый файл имеет все нужные нам параметры. Загружаем исполнимый образ файла из памяти («дампим» образ):
Нас интересует текущее значение Entry Point
, щелкаем на «Optional Header»
, и правее поля «Entry Point»
щелкаем на кнопке «D»
. Откроется окно дизассемблера:
В первую очередь, нас интересует код программы в точке входа. В данном случае, нет никаких подозрительных переходов, что могло бы свидетельствовать о переносе точки входа. Мы видим, что в теле программы, по сравнению с исходным файлом, изменился лишь первый операнд по адресу Program Entry Point
. Таким образом, мы имеем дело с защитой «второго рода». Сравниваем данные по адресу точки входа в исходном и «сдампленном» файле (здесь они различаются только первым байтом), узнаем ее физическое смещение в файле (можно через PeID, см. выше – параметр «File Offset»
). Записываем в исходный файл изменения:
Вот и все дела. Можете удалять оболочку Romopolis.exe
(больше она нам не понадобится), переименовывать Romopolis.wrp.exe
в Romopolis.exe
и играть без ограничений.
В случае, если бы мы столкнулись с защитой «первого рода», различие было бы в том, что по адресу точки входа в «дампе» будет инструкция безусловного перехода на настоящую точку входа (вида «JMP [ADDRESS], RET»
). Нужно было бы запомнить это значение и прописать его в качестве точки входа для оригинального файла Romopolis.wrp.exe
, с помощью того же PETools.
Обсуждение
В некоторых случаях разработчики Alawar пытаются манипулировать параметрами
«Virtual Size»
и характеристиками секций PE-файла. Излюбленным приемом является установка заведомо большого размера секции (для создания проблем при дампе), или сброса флага «executable» с секции кода. Но это бывает редко, в основном – никаких сюрпризов.Спасипки…первая удачно сломанная игрулька есть и на моем счету теперь)))
Зачем так сложно? Очень удобно, когда игра после триал-таймаут просит перезапуск. Обычно более 1 часа играть не требуется, иначе весь день потратишь :) Итак, используем встроенный таймоут. Если вы уже потратили данные вам 30-60 минут, удаляем в регистре ключик HKEY_CURRENT_USER\Software\Alawar\Play , под ним папки с цифрами относятся к тем играм, что у вас уже стоят. Запускаем все игры, но не играем, а сразу закрываем. Создаются ключи с ограничением по времени от производителя, теперь по всем подпапкам меняем разрешения : снимаем наследование разрешений от родителя, ставим только чтение по всем, кто в списке, ставим галку заменить наследуемые разрешения. Теперь, при каждом запуске у вас будет ограничение по времени, напр. 30 минут. Игра продолжается с того места где вы остановились по предыдущему таймауту. В моём случае в игру играют ребёнок да жена, а я совсем не хочу сидеть голодный и злой. 3 таймаута им хватает, что-бы остановиться :)
Хаха, и это по-вашему, проще? Открой игру, закрой игру, посмотри в реестре..
Пусть вас не смутит объем моей заметки выше и технические подробности, приведенные в ней; они интересны только исследователям программ. Защита в игрушках типовая, поэтому ломаются они пакетным образом, 5 минут на каждую («запустил, свернул, посмотрел значение, закрыл программу и исправил на нужное»). Пока вы откроете реестр, найдете ветку и выставите разрешения – я уже получу «отученную от проверок» игрушку.
Причем её можно будет запускать хоть на локальном компьютере, хоть на другой машине, совершенно не заботясь более ни о каких таймаутах.
Ура! Всё получилось! Пробовал на игрушке «Авиа-бандит». Честно говоря ковырялся полтора дня, но это с учётом того, что в программировании не бум-бум и пока разобрался что-где. Кстати в «Авиа-бандите» пришлось заменить два байта, а я сначала менял один, как в примере выше.
До этого момента я долго искал в интернете инструкцию по обходу защиты Алавара, но все имеющиеся объяснения были типа «измените значение там-то на такое-то» и примеры с циферками и буковками (утрирую,но смысл думаю понятен), а как добратся до этих значений толком не написано (блин, ну не все-же кругом программисты).
Так вот, здесь я нашел на данный момент самое полное описание процесса, плюс программки прилагаются (правда hex-радактора нет, но у меня уже был :)).
Короче, БОЛЬШУЩЕЕ СПАСИБО автору за подачу материала в готовом для употребления виде !!!
Здравствуйте Денис. Честно говоря в программировании не бум-бум, можно ли описать более подробно для новых игр от Nevosoft?
Мне не приходилось сталкиваться с ними раньше (т.е., конкретно исследовать на возможность взлома), поэтому даже не представляю, что там за защита. Гляну, – если разберусь, то обязательно напишу.
P.S. Кстати, написал про Nevosoft две недели назад. Всё не мог выбрать время – но лучше поздно, чем никогда.
Кстати, хочу отметить еще один момент. Можно заметить, что последовательность операций для отучения игрушки от проверки регистрации легко поддается описанию алгоритмом.
Наверное, в связи с этим, на почту мне приходят такие вопросы: «почему бы не написать универсальную отучалку, выложить её здесь и не пудрить народу мозги дизассемблерами и hex-редакторами?» Отвечаю: я не буду этим заниматься, по крайней мере, по двум причинам:
Всем добрый вечер.Установил Авиа-бандит, к ней прилагался генератор ключа СМС, ввел код, счетчик времени исчез как будто все нормально, поблагодарили за регистрацию, но игра не запускается, перегружался, чистил реестр, переустанавливал,но одно и тоже.При новой установке уже не требует ключ, сразу предлагает играть, но опять же не хочет запускаться.
Два варианта: или у Вас сама игрушка не идёт (системные требования, несовместимость с оборудованием или ОС); или Ваш генератор ключей не рабочий. Иногда игрушки пытаются обмануть: принимают заведомо неверный код как правильный, но продолжают работать в демо-режиме.
ОС Windows 7, все остальные игры этого производителя идут.Дело в том, что это даже не демо-режим, потому что в деле я ее еще не видел (она не запускается, но есть две кнопки «Играть сейчас» и «Выход»)и некуда вставить новый ключик.Как это порешить?
Если у Вас она не запускалась и в демо-режиме, значит у Вас она не будет работать вообще. ОС, настройки компьютера или неподдерживаемое железо. Обычно в каталоге игры создаётся лог запуска, может быть, позволит определить проблему.
А есть какой-то способ зарядить в нее новый ключик?
Попробуйте удалить связанные с ней ключи реестра. Выше уже писали, где они примерно могут находиться. Если у Вас несколько установленных alawar-овских игрушек, у Вас там будет несколько вложенных папок, по количеству игрушек.
Тем, кому интересны технические детали, дополнительная информация: точное имя ветки реестра (используемая wrapper-ом для хранения данных о таймауте и прочее) можно узнать, обработав wrapper игрушки каким-нибудь распаковщиком ASProtect и заглянув в RCDATA редактором ресурсов (Restorator, Resource Hacker, PE Explorer). Там можно увидеть характерную строку, содержащую имя ветки реестра (и еще много чего интересного, в том числе и байты, которые надо править по EP). Вместо распаковщика, можно снять дамп с запущенной оболочки, если не используется защита ресурсов (я не проверял), после этого перестроить секцию ресурсов и далее смотреть редактором ресурсов.
Добрый день. Денис. Приведенный Вами способ годится практически для всех программ, но вот для Веселой фермы 3 не подошел, пишет «Критическая ошибка в игре…». И еще. Нельзя ли поподробнее осветить действия при этом «Alawar пытаются манипулировать параметрами «Virtual Size» и характеристиками секций PE-файла. Излюбленным приемом является установка заведомо большого размера секции (для создания проблем при дампе), или сброса флага «executable» с секции кода.» Ну и еще. Занимались ли Вы изучением защиты TurboGames? Ничего не смог найти по ней.
С «Весёлой фермой» действительно не всё так просто – полгода назад я смотрел вторую «ферму» и сейчас уже не помню деталей (то ли там, помимо навесной защиты, используются возможности ASProtect, то ли вовсе ASProtect вместо навесной защиты – не помню, поэтому врать не буду).
Насчет размера секций – на него стоит обратить внимание, если вы не можете сделать дамп с запущенного экземпляра или дизассемблировать по точке входа (для секции указано большое значение «VirtualSize» и дампер «повисает»). Насчет флага «executable» тоже все просто – убедитесь, что у секции, в которой находится точка входа, стоят атрибуты на выполнение («Characteristics»).
Что касается TurboGames – нет, не изучал. Думаю в ближайшее время написать про «NevoSoft», там тоже типовая защита. После этого, возможно, гляну.
а если там в начале стоит не jump а call как быть в таком случае?
Может, там вовсе не используется перенос точки входа (по
«JMP [ADDRESS]»
) и всего лишь использована замена нескольких байтов по EP (как показано в статье). А может, это вовсе не защита wrapper-ом и разработчики применили какой-то другой способ.Да, вы правы, просто 2 байта и все. Спасибо -)
Спасибо за ответы, Денис.
Навыерное это был 3 Ферма, со 2 кажется не было проблем, как и с остальными. Впрочем слышал, что сообщение «Критическая ошибка в игре…» появлялось не в начала, а в середине игр, но у меня такого не было.
NevoSoft внес изменение в распространение программ, теперь они устанавливаются через клиент, что очень неудобно. К тому же сам клиент недоделан, например его нельзя удалить с помощью деинсталлятора. В общем, плохой стал сайт.
> NevoSoft внес изменение в распространение программ, теперь они устанавливаются через клиент
Это обстоятельство никак не отразилось на защите и алгоритм, увы, остался прежним.
Ваш алгоритм взлома подойдёт для большинства игр от Alawar?
Гарантий нет. Ведь защита может меняться.
Вот еcли бы еще последний этап росписали как менять, что менять и на что менять,а то не розберусь…
Ксюша, всё это расписано выше Я не знаю, как ещё подробнее можно описать. Пишите мне на почту, если вам нужны детальные объяснения по какому-либо моменту. Сразу скажу, чтобы понять здесь логику всех действий, нужно немного разбираться в программировании, немного почитать про реверсинг.
PEiD: http://s010.radikal.ru/i312/1101/0a/667e80448f3c.jpg PETools: http://i043.radikal.ru/1101/b2/e724f1c5e247.jpg
«Нужно было бы запомнить это значение и прописать его в качестве точки входа для оригинального файла Romopolis.wrp.exe, с помощью того же PETools.»
Можно подробнее. Спасибо.
Сложно сказать, не видя, куда ведёт первый переход.
Для начала, просто попробуйте в оригинальном файле восстановить первые 15 байтов по EP, руководствуясь дампом.
0054CB4C E8 3C9A0000 call 0055658D ; Dumped.0055658D
0054CB51 E9 17FEFFFF jmp 0054C96D ; Dumped.0054C96D
вот что мне показал дамп , точка входа 0054CB4C. Прыжок идет на 0054CB51, но прописав точку входа с адресса 0054CB51 игра не запустилась. Как я понял это защита «первого рода». что я сделал не так?
Здесь не нужно менять EP. Просто пропишите в оригинальном файле по EP данные из дампа, один или несколько байт там должны различаться. Если не поможет, то это не wrapper или защита изменилась (в этом случае, пришлите ссылку на игру, гляну).
http://www.alawar.ru/game/the-treasures-of-mystery-island-ghost-ship/
защита не изменилась через дебагер разобрался что к чему
И что же к чему? Приведённая вами игра легко ломается и без отладчика с помощью дампа и замены нескольких байтов, иногда в разных секциях. Но вот для игры «Папины дочки едут на море» (http://www.alawar.ru/game/papas-daughters-2/ ) этого мало. Вылетает завершается без сообщений об ошибках после запуска.
Игра же «Эхо печали» (http://www.alawar.ru/game/echoes-of-sorrow/ ) вообще вылетает с ошибкой, хотя все изменения внесены.
Сергей, а можно поподробнее про замену в нескольких секциях? Мне такое не попадалось и я уже давно не смотрел, как там «Алавар», так что немного не в теме..
А какие проблемы вызвало «эхо печали» ??? «папины дочки» сейчас посмотрю.
Улетает в несуществующие адреса. Просто правки второй секции не достаточно.
да что то поменяли тогда нули в реестре счетчик
Правка реестра не желательна. Требуется рабочий exe-файл. И вообще методика взлома для игр Alawar с последней защитой. Есть и еще проблема. Если править только байты у точки входа, то некоторые игры нормально грузятся и играются, но при выходе дайют ошибку. Потмоу требуется замена сразу в двух местах. Такова игра Королевство семи печатей м mail (на Alawar пока нет).
реально летит в неизвестность надо подумать
Денис, привожу пример. Секция правда одна, но бывают и разные. К сожалению не помню в каких играх. Игра – Королевство семи печатей (http://games.mail.ru/shareware/2503/download ) от Alawar.
Если сравнить дамп и *.wrp то видно, что в первой секции заменяется 64 байта.
см. 540 (секция .text)
на
Если так и оставить, то игра запустится, но при выходе выдаст ошибку по адресу 295E
Опять сравниваем 295E-1000=195E
см. 191B (секция .text) 64 байта
на
Вот теперь нет никаких ошибок.
что-то не на всех катит. эту тему еще вчера заметил
В новой защите 64 байта от точки входа заменяются всегда, но если не будет работать, то надо искать дальше. Если выводится сообщение об ошибке при входе или выходе и адрес, то смотрите нужную секцию и сравнивайте дамп с *.wrp вблизи адреса будет еще одно изменение в 64 байта, его и вставьте. Пока только две игры не запустились после двух исправлений.
я поробую лаунчер расковырять
вы hex радактором просматриваете файлы?
Да. Редактор Hex Workshop. Очень удобный. Ну еще OllyDBG. Но в данном случае хватает и hex-редактора. Для дампа хорош PETools, он же для просмотра структуры.
«эхо печали» wrp.exe C39070B4 – точка входа
dump.exe точка входа – 558BEC83
И ЭТО ВСЕ ? хотя дальше изменения тоже есть
Ну, если есть желание, то можно и всю секцию поменять. Ничего не изменится. Просто времени нет глубоко заниматься этой игрой.
ясно
есть идеи как скрыть ольку при ковырянии в exe-ке лаунчера ? у меня 7 softice не робит
Я для таких целей ХР на «виртуалке» держу. А вообще, на «Алаваре» ASProtect (по крайней мере, раньше был), плагин IsDebuggerPresent для Olly помогал.
ASProtect 1.2 1.3v пакуют
По ручной распаковке ASProtect много материала, но не знаю есть ли автораспаковщик для 1.2. В «Эхо печали» запакованы и dll. Можно и их распаковать. Не смотрел, но скорее всего они распаковываются при запуске лаунчера.
руками только если
Да нет, stripper справляется. Только потом требуется перестройка ресурсов.
exe лаунчера я распаковал. Только вот импорт в таблицах востановить не знаю как или чем )))))))
Когда я пробовал stripper-ом, импорт автоматом был восстановлен. Это было год-полтора назад.
стрип 1.35 распаковал все без проблем.
Я только не понял dll зачем защищать asp? Я так-то недавно занядся кряком, надоело все время в реестре править.
Чтобы нельзя было без лаунчера обойтись, наверное. Прпатченный wrp не работает с запакованными dll. Но стриппером dll не распаковать.
не лаунчер ковырять смысла нет он пищется под конкретную игру это не новософт
295E Опять сравниваем 295E-1000=195E
см. 191B (секция .text) 64 байта Hex Workshop v6 не показывает секции только байты тупо как настроить ?
Я вручную считал, от начала секции. Честно говоря, сейчас нет времени смотреть и разбираться, что там «Алавар» напридумывал. Другой работы хватает
Будет здорово, если разберётесь и опишете, что там нового появилось. Многим будет интересно.
пока в процессе
Анг версии вроде не изменились, но при запуске просто виснут.
Серегй, вот вам подсказка. Если взять английскую версию, запустить, снять дамп и т.д. А потом перенести измененный файл в русскую версию, то она заработает и нормально будет играться, но при выходе будет выдавть ошибку.
Потому придетя, как выше сказано менять 64 байта (40H) и в третьей секции (просто найдите первое отличие размером в 40H) то и выходить будет без ошибок.
В общем лаунчер можно сделать для всех игр 1. Например PapasDaughters2.exe запускает любую игру! но oep и куски кода берутся с этого долбанного wrapper.dll который запакован asprotect как я понял . через олю распакавать не смог
Сделал проще. Через Regedit нашел папку HKEY_CURRENT_USER\Software\Alawar. Удалил в нем папку Play (в ней инфа о истечении триала) А папку Alawar правой мышкой и «Разрешения» Галочки «запретить» все и всем ))) пока работает и 30 минут не тают… ))) Проверено на Алиен шутер…
Ну как сказать… Это обходной путь, не полноценное решение.
Я был бы заинтересован в полном исследовании защиты (включая полный реверсинг wrapper-а), но к сожалению времени на это у меня нет. Может быть, кто-нибудь возьмётся и довершит начатое.
Кто уже сломал файл PapasDaughters2.wrp.exe к игре «Папины дочки едут на море» можете скинуть этот файл на почтовый ящик seastats@mail.ru я его заменю ?
и че это за такие хреновые способы а в два раза все быстрее делаю и проще!!!!!!!!!!!
Дмитрий, здесь была цель показать сам механизм защиты. А алгоритм для взлома пусть крякеры оптимизируют, если есть желание. Я думаю, в сети есть множество распаковщиков-unwrapper-ов, пользуйтесь ими, чтоб не терять время.
Денис,обьясни пожалуйста второй способ взлома тоже в картинках а то я как уже не пытался изменять всегда выдает ошибку.
В картинках лень Я даже не уверен, что Windows на моём компьютере ещё работоспособна.
Вкратце, по теме, если у вас первая инструкции по EP вида «JMP [ADDRESS], RET», выписываете адрес ADDRESS на бумажку, открываете wrp-exe в PETools и исправляете адрес EP на ваш ранее выписанный. Для дополнительной страховки проверьте, что по новому адресу находится нечто, похожее на валидный EP.
Добрый день, Денис!
Приведенным Вами алгоритмом, пользуюсь уже давно, но вот столкнулся с нижеследующей ситуацией.
Игра: сокровища монтесумы 2 entrypoint : 00383054 file offset: 00382454
Дамп памяти процесса в optional headers дает всего 28 байт.
Заменяю эти 28 байт в .wrp.exe по file offset.
Запускаю - вылетает с ошибкой по адресу 00383070.
Подозрительно: 00383054 + 28байт = 00383070. По адресу 00383070 находятся данные 000000 (не знаю будет ли полезна эта информация).
Как быть в этой ситуации?
С уважением, Kariamba.
Не держитесь инструкций, аки слепой стены
Вывод дизассемблера, а точнее, инструкция возврата, ограничила ваше воображение. А между тем, если сдампить процесс и посмотреть на дамп в нормальном дизассемблере на пару десятков инструкций от точки входа, всё становится на свои места.
В WRP-файле пошифрованы пара десятков байт, начиная от EP. Возьмите их из дампа до первого совпадения.
P.S. Кстати, там пытались реализовать простую антиотладку. Но от Ольки с плагином скрытия отладчика всё равно не спасает.
Денис, признаюсь сразу, в ассемблере я не силен.
Я добыл olly с официального сайта, запустил подцепился к процессу (attach blabla.wrp.exe) и тут все, приехали - что дальше делать не пойму…
Быть может есть какая инструкция по применению? или без ассемблера лучше не лезть?
Я и сам не гуру дизасма, тем более, годами этим не занимаюсь. За инструкциями по применению Olly лучше пройти на wasm.ru.
Цепляетесь к процессу, смотрите, что по EP, сразу увидите различия с оригинальным файлом. Ну или можете WDASM'ом EP дампа посмотреть. Или любым дизассемблером, который не ограничивает обзор первым встречным
'ret
'Круть! WDASM - рулит. 2 часа битвы и разбирательств в, прямо таки сказать, очень не удобном интерфейсе и готово.
Спасибо за совет!
алавар сменил защиту в очередной раз
Опять сменилась защита. До этого запускал через реестр. вводил девять девяток перед каждым запуском игры всё было гуд. Теперь этот фокус не проходит. Подходит ли вышеописанный метод для сегодняшней защиты?
Не знаю, что там изменилось, ещё не смотрел. Как-нибудь гляну в свободное время.
Здравствуйте!!! Подскажите пожалуйста как снять блокировку бесплатного времени в играх Алавар. Написано «Игра заблокирована. обнаружена попытка взлома бесплатного времени. Для снятия блокировки вам требуется приобрести лицензионный ключ»
Качаешь программу ProcessMonitor. Запускаешь, потом запускаешь игру где пишется что игра заблокирована и выключаешь, в ProcessMonitor инклудишь запущеную игру, и ищешь обрадение к реестру HKCR/CLDID/{класс}/TypeLib/1000 с прыгающим значением 1000 и 1001, в деталях написано Type: REG DWORD, Length: 4, Data 1001 и REG DWORD, Length: 4, Data 1000. В нормальном значении должно быть примерно 1800000 и равняться установленому триалу в другой ветке. Удаляешь этот класс, потом удаляешь ветку HKCU/Software/Alawar и HKLM/Software/Alawar. Пробуешь запускить игру. Должно появиться снова 30 минут.
Опячатался, HKCR/CLSID
Здравствуйте Денис. Аналогичная ситуация как в предыдущем посту. При малейшей попытке изменения «внутренностей» игры она блокируется и выходит сообщение:«Игра заблокирована. обнаружена попытка взлома бесплатного времени. Для снятия блокировки вам требуется приобрести лицензионный ключ». Помогите…
могу выложить ломанный exe для исследований.
У меня токая проблема на новых алавар нужно в писать номер телефона по россии.А мне нужно для казахстана в вожу смс год аон мне говорит игра заблокирована помогите плиз все перепробывал не получается
У меня все игры стали блокироваться. Раньше я их ломал обычным кряком. А сейчас пишут - вы ввели неленцизионный ключ. Игра заблокирована. Введите ваш номер телефона. Игры по году уже установлены. И тут такое. Что делать, подскажите.
Дмитрий, на данный момент не знаю. Пока нет времени посмотреть, как только появится – гляну обязательно. Самому интересно, что там придумали
Ничего там не придумали, алгоритм защиты прежний. Единственное отличие, вместо одного-двух байт теперь прячут 64 байта по EP. Проверено на «Youda Тайна», «Золотоискатели», «Остров секретов», «Радужная паутинка 3», «Тайны прошлого». Для «Радужной паутинки 3», например, такие изменения:
Версия ASProtect на wrapper-e прежняя, публичная версия stripper-а с ним работает, если кому интересно в нём покопаться. В целом, алгоритм распаковщика: сдампить 64 байта по EP с запущенного процесса и записать по EP в wrp-файл.
Здравствуйте, Денис! Руководствуясь описанием алгоритма, получилось очень многое. Мама довольна))).Но вот новая беда, пока не пойму что делать(коллекционные издания). замена не помогает. Вот дамп из PeTools:
Что можете сказать? раньше такого не видел.
Напишите, что за игра. Будет время, посмотрю.
Здравствуйте, Денис! встречал процедуры описанные выше в следующих играх: Экзорцист Великие секреты. Да Винчи Дом 1000 дверей. Длань Заратустры. Коллекционное издание Тайна Немо. Наутилус.
Дом 1000 дверей. Длань Заратустры. Коллекционное издание
Убедительная просьба посетителям: не публикуйте здесь ключи, не превращайте сайт в варезник. Обсуждение технических деталей защиты — без проблем, это только приветствуется.
Здравствуйте Денис! Попытался проделать вышеописанное с игрой: Песочный человек. Истории шепотом. Дамп похож на приведенный Антоном, видимо такой род защиты начали использовать во всех новых играх. Не получается применить ни первый, ни второй способ. Подскажите как победить, есть ли третий способ?
Здравствуйте Денис.В игре Король покера 2.коллекционное издание.пытался взломать программой но не получилось игра заблокировалась.Позже нашёл работующую программу,но так ничего не получается.Можете подсказать как переустановить игру что-бы время востановилось?
Здравствуйте Денис, я, наверно, месяц назад прочитал вашу статью на тему взлома игр от Alawar.
Мне очень понравилось! Я более 10 игр взломал вашим методом. Как и вы, я не считаю взломом увеличение времени
триала или активацию игры. Я согласен, что лучше всего сносить защиту-оболочку полностью и оставлять только чистую игру:
1) Не делаются записи в реестре.
2) Нет файлов оболочки - только сама игра.
3) Можно спокойно поделиться с друзьями, и запустить на любом компьютере даже с флэшки.
Бывали конечно игры и чуть похитрее, но всё сводилось в конечном итоге к подмене байтов в точке входа. Но…
Недавно я наткнулся на замечательную игру «Правитель. Колосс». Всё было проделано, как и ранее: сделал дамп, нашёл точки входа обоих файлов (до дампа и после) и вписал нужные значения в точке входа.
И игра запустилась без NAGа (оболочки). Казалось бы на этом всё, можно играть. Но не тут то было - есть и вторая защита. И боюсь, она является частью исходного кода игры.
Откуда Alawar имеет доступ к исходникам? А оттуда, что Alawar являются не только локализатором данной игры, но и её разработчиком. Казалось бы, что тут поделаешь. Но мы то помним,
что у Alawar никогда не было особого таланта к выдумыванию защит.
Так что же это за вторая защита? На самом деле всё просто. Давайте возьмём для примера ту же игру «Правитель. Колосс». После запуска «SettlementColossus.wrp.exe» (неважно оригинального или уже вылеченного)
запускается таймер (не таймер оболочки). Этот таймер отсчитывает одинаковое время, всегда. Около 3 мин. Как только таймер дойдёт до нуля происходит следующее:
1) Исполняемый файл игры (в данном случае «SettlementColossus.wrp.exe») удалает из своего названия всё после первой точки до последней. Итого получается «SettlementColossus.exe». Это всё происходит в оперативной памяти - не на жестком диске.
2) Получившееся имя «SettlementColossus.exe» использует для нахождения в оперативной памяти запущенной оболочки Алавар. Если он видит, что оболочки нет - игра вырубается с надписью «Критическая ошибка….» и т.д. и т.п.
Конечно, после того как исполняемый файл игры взломан, можно спокойно запускать оболочку, даже если триал-времени уже не осталось, и затем, запускать исполняемый файл игры. Таймер (не оболочки) вновь запускается и, по прошествии времени, видя оболочку в оперативке, игру не отрубает.
Но мне такой ход вообще не нравится, если честно. Записи в реестре остаются, файлы оболочки тоже. И необходимость запускать оболочку перед самой игрой, тоже не ахти.
Я пишу вам с просьбой уделить чуток своего времени и помочь понять, как снести вторую защиту. Я уверен, вы сможете это выяснить. Да, я понимаю, что таймер запускается вместе с исполняемым файлом игры, но может есть возможность найти этот кусок кода и запаганить его так, чтобы он не мог выполнятся.
Я не такой специалист, как вы, я плохо разбираюсь в программировании. Поэтому прошу научить меня как эту защиту ломать. Пожалуйста, жду ответного сообщения.
Вот ссылка на саму игру: http://www.alawar.ru/download/AlawarRusSettlementColossusRus.exe
К сожалению, сейчас совсем нет свободного времени. Работа, учеба (магистратура). Выше писали о новых фишках защиты, был бы рад посмотреть, но не получается.
ничего не поменялось все осталось по прежнему !!! видно хреново секции сменили если нужно скину exe ломанный
КАК Я ПОНЯЛ ЕСТЬ 3 ПРОВЕРКА КЛЮЧА С ИНТЕРВАЛОМ В НЕСКОЛЬКО МИНУТ ЕСЛИ В РЕЕСТРЕ НЕТ КЛЮЧА ТОГДА КРИТ И ПРЕДЛОЖЕНИЕ ПЕРЕЛИТЬ ИГРУ) ВАРИАНТ В ДЕБАГЕРЕ ЗАПУСТИТЬ ИГРУ И ОТСЛЕДИТЬ ПРОВЕРКУ НУЖНО СМОТРЕТЬ ПРОСО ДОБАВИЛИ ЕЩЕ 1 ПРОВЕРКУ НО ЧЕСТНО ГРЯ КОВЫРЯТЬ ЭТУ ШЛЯПУ ИНТЕРЕСА НЕТ
Очень жаль, Денис. Но, пожалуйста, когда будет время исследуйте эту защиту.
При всем уважении к участникам обсуждения, эта тема превращается в варезник. Абстрактные способы взлома, различные кейгены и ломаные левые DLL с модификацией реестра мне не интересны. Для их обсуждения есть более подходящие ресурсы. Здесь прошу писать только о технической стороне этой конкретной защиты. Ссылки на варез и прочее не по теме будут удалены.
невософт и алавар ломану любую игрушку тема не изменилась меняем секции
Ломать ничего не надо,а вот подсмотреть как происходит проверка ключа во wrappere игр Алавар вот это интересно,потому что ключи вшитые в тело игры не принимаются игрой через окно ввода ключа.
а не проще отключить сам врапер ?))))
Да это не проблема отключить.Всё сломать и я могу,а вот заставить игру принять ключ проблема.Я с ней уже бьюсь два года.С тех пор как Алавар поменял последнюю защиту.
392h, прибавляем к нему 7D6h, получаем результат B68h или в десятичной системе 2920. Значит серийный номер будет наподобие 02920G, остальные символы серийника не учитываются. Ты с таким знаком ? если нет тогда и не парься ! Так вычисляется серийник и пишется кейген. Если без инета нет регистрации, тогда и ковырять нечего.(никогда не регал) у них фишки меняются на серийники раз в пол года, когда в паблик вылазят кейгены )
Это всё не то. во wrappere идёт банальная проверка, если зашитый ключ равен введенному, значит плохо. длинные ключи которые вшиты в тело игры никакого отношения к алавару не имеют, это стандартные ключи asprotect которым упакован wrapper. из этого делаем вывод: Если введенный ключ не равен зашитому, значит все ок и его можно вносить в реестр Если ключ удовлетворяет требованиям лицензирования asprotect, значит делаем игру зарегистрированной. Предвижу вопрос, «зачем же вообще ключ в ресурсах?» для активации смс, этот ключ заносится в реестр, а т.к. проверка только при вводе, проверка asprotect проходит без проблем.Мне нужно понять отчего отталкивается проверка,а кейген написать невозможно,так как там очень много непонятного кода.Покупал ключи родные и пытался разобраться.А то что ты предлагаешь я пытался подсмотреть.Не то.
я думаю логику генерации ключа нам не осилить( да и к чему, когда тупо можно снять враппер)) не красиво, зато эффективно!
Да не надо искать логику. Я убиваю любую игру с Алавара без проблем, но меня интересует совсем другое. Во враппере проходит проверка ключа asprotect, которым упакован враппер и мне интересно узнать код проверки. Я снимаю asprotect, но декомпилировать враппер мне не удаётся, чтобы было удобочитаемо. Со всем остальным я разберусь сам.
Опишите пожалуйста подробнее процесс, в программировании я ноль, понять ваш способ так и не смог.)
Здравствуйте! я следовал вашим инструкциям и столкнулся с проблемой когда я скачал PEID v0.95 при разорхивировании он выдаёт
«введите пароль для зашифрованного файла : PEID.exe .Я просто нажимал окей и этот файл не появляется а в архиве он есть. Что делать подскажите.
PEID v0.95 скачай другую версию или посмотри пасс на архив на кой тебе вообще он панадобился?