Поиск:

Защита игр от Alawar

Дабы не утомлять читателя долгим отступлением, скажу сразу, что механизм защиты игр от Alawar неоднократно менялся на протяжении последних лет, каждый раз оставаясь при этом неприглядным образцом лени разработчиков и нежелания компании навести порядок в своем хозяйстве.

Компания Alawar является ведущим дистрибьютором игр, произведенных сторонними разработчиками. Отчасти это оправдывает слабость защиты, поскольку программисты компании не имеют доступа к исходному коду публикуемых игр, и вынуждены довольствоваться внешней («навесной») защитой собственной разработки (другое дело, что эта защита не представляет собой сколько-нибудь серьезного препятствия). Внешне она проявляется в том, что все игрушки имеют временное ограничение (от 20 минут до часа); по истечении этого времени игрушка отказывается запускаться, предлагая приобрести лицензию на ее использование («купить игру»).

Действующий в данное время механизм основан на использовании программы-оболочки (wrapper) производства Alawar, проверяющей наличие лицензии на игру и факт «легитимности» ее запуска. В случае, если все проверки проходят удачно, оболочка запускает непосредственно саму игру. Давайте рассмотрим все это на примере игры "Римская империя" (я зашел на страничку Alawar-a, и скачал первую попавшуюся):

10.jpg

После установки игрушка создает ярлык в Главном меню:

11.jpg

Видим, что он ссылается на файл Romopolis.exe в папке, в которую установилась игра. Следуем за «белым кроликом»:

12.jpg

По соседству с нашим Romopolis.exe можно заметить файл Romopolis.wrp.exe. Так вот, Romopolis.exe – это wrapper-оболочка от Alawar, производящая вышеупомянутые действия, а Romopolis.wrp.exe – исполнимый файл игры, который запускается оболочкой по окончании проверок. Не торопитесь его запускать, сейчас он работать не будет.

Существует два варианта защиты игрушки от Alawar, различающихся лишь деталями:

  • перенос точки входа (Program Entry Point) в оригинальном файле игры;
  • адрес точки входа остается неизменным, происходит лишь изменение произвольным образом данных по ее адресу.

Если говорить вкратце, то точка входа в PE-файле указывает, с какого места в секции кода начинается выполнение программы. Смотрим на инструкции в точке входа Romopolis.wrp.exe:

13.jpg

14.jpg

Совсем не похоже на типичный Entry Point для Delphi, в котором в действительности скомпилировано приложение. Обратите также внимание на самую первую инструкцию («RET»), которая служит для немедленного возврата в вызывающую функцию. То есть, в данном случае, при прямом запуске выполнение программы прекращается на первом же операнде после точки входа, и результатом будет выход в систему. «Почему же тогда программа может запускаться через оболочку Alawar?», - спросите вы. А вот почему: Alawar-овский wrapper сначала загружает Romopolis.wrp.exe в память, затем прописывает в коде переход на настоящую точку входа («защита первого рода», см. выше) или исправляет данные по адресу точки входа («защита второго рода»), и лишь потом передает ему управление. Дело остается за малым: чтобы для запуска Romopolis.wrp.exe обойтись без оболочки, нужно:

  • узнать верное значение точки входа (в случае использования первого варианта защиты);
  • узнать верные данные по адресу точки входа (в случае использования второго варианта защиты).

Для новичков, самым простым способом узнать тип защиты (и, соответственно, в зависимости от типа защиты – настоящее значение точки входа программы или данных по ее адресу), является «подглядывание» за wrapper-ом. Запускаем оболочку, жмем «Играть» и некоторое время ждем, пока игрушка полностью запустится…

15.jpg

..после чего сворачиваем окно по Alt+Tab, запускаем утилиту PETools, и видим в списке процессов наш Romopolis.wrp.exe:

16.jpg

Логично предположить, что его уже «обработал» Alawar-овский wrapper, и на данный момент исполняемый файл имеет все нужные нам параметры. Загружаем исполнимый образ файла из памяти («дампим» образ):

17.jpg

Нас интересует текущее значение Entry Point, щелкаем на «Optional Header», и правее поля «Entry Point» щелкаем на кнопке «D». Откроется окно дизассемблера:

18.jpg

В первую очередь, нас интересует код программы в точке входа. В данном случае, нет никаких подозрительных переходов (что могло бы свидетельствовать о переносе точки входа); мы видим, что в теле программы, по сравнению с исходным файлом, изменился лишь первый операнд по адресу Program Entry Point. Таким образом, мы имеем дело с защитой «второго рода». Сравниваем данные по адресу точки входа в исходном и «сдампленном» файле (здесь они различаются только первым байтом), узнаем ее физическое смещение в файле (можно через PeID, см. выше – параметр «File Offset»). Записываем в исходный файл изменения:

19.jpg

Вот и все дела. Можете удалять оболочку Romopolis.exe (больше она нам не понадобится), переименовывать Romopolis.wrp.exe в Romopolis.exe и играть без ограничений.

В случае, если бы мы столкнулись с защитой «первого рода», различие было бы в том, что по адресу точки входа в «дампе» будет инструкция безусловного перехода на настоящую точку входа (вида «JMP [ADDRESS], RET»). Нужно было бы запомнить это значение и прописать его в качестве точки входа для оригинального файла Romopolis.wrp.exe, с помощью того же PETools.

Дискуссия

Денис Фатеев, 04/07/2009 20:57

В некоторых случаях разработчики Alawar пытаются манипулировать параметрами «Virtual Size» и характеристиками секций PE-файла. Излюбленным приемом является установка заведомо большого размера секции (для создания проблем при дампе), или сброса флага «executable» с секции кода. Но это бывает редко, в основном – никаких сюрпризов.

Driver, 11/09/2009 14:01

Спасипки…первая удачно сломанная игрулька есть и на моем счету теперь)))

WLD, 15/02/2010 16:05

Зачем так сложно? Очень удобно, когда игра после триал-таймаут просит перезапуск. Обычно более 1 часа играть не требуется, иначе весь день потратишь :) Итак, используем встроенный таймоут. Если вы уже потратили данные вам 30-60 минут, удаляем в регистре ключик HKEY_CURRENT_USER\Software\Alawar\Play , под ним папки с цифрами относятся к тем играм, что у вас уже стоят. Запускаем все игры, но не играем, а сразу закрываем. Создаются ключи с ограничением по времени от производителя, теперь по всем подпапкам меняем разрешения : снимаем наследование разрешений от родителя, ставим только чтение по всем, кто в списке, ставим галку заменить наследуемые разрешения. Теперь, при каждом запуске у вас будет ограничение по времени, напр. 30 минут. Игра продолжается с того места где вы остановились по предыдущему таймауту. В моём случае в игру играют ребёнок да жена, а я совсем не хочу сидеть голодный и злой. 3 таймаута им хватает, что-бы остановиться :)

Денис Фатеев, 15/02/2010 16:58

Хаха, и это по-вашему, проще? Открой игру, закрой игру, посмотри в реестре.. =)

Пусть вас не смутит объем моей заметки выше и технические подробности, приведенные в ней; они интересны только исследователям программ. Защита в игрушках типовая, поэтому ломаются они пакетным образом, 5 минут на каждую («запустил, свернул, посмотрел значение, закрыл программу и исправил на нужное»). Пока вы откроете реестр, найдете ветку и выставите разрешения – я уже получу «отученную от проверок» игрушку.

Причем её можно будет запускать хоть на локальном компьютере, хоть на другой машине, совершенно не заботясь более ни о каких таймаутах.

Doctor, 28/02/2010 17:25

Ура! Всё получилось! Пробовал на игрушке «Авиа-бандит». Честно говоря ковырялся полтора дня, но это с учётом того, что в программировании не бум-бум и пока разобрался что-где. Кстати в «Авиа-бандите» пришлось заменить два байта, а я сначала менял один, как в примере выше.

До этого момента я долго искал в интернете инструкцию по обходу защиты Алавара, но все имеющиеся объяснения были типа «измените значение там-то на такое-то» и примеры с циферками и буковками (утрирую,но смысл думаю понятен), а как добратся до этих значений толком не написано (блин, ну не все-же кругом программисты).

Так вот, здесь я нашел на данный момент самое полное описание процесса, плюс программки прилагаются (правда hex-радактора нет, но у меня уже был :)).

Короче, БОЛЬШУЩЕЕ СПАСИБО автору за подачу материала в готовом для употребления виде !!! :-)

Дмитрий, 21/03/2010 15:30

Здравствуйте Денис. Честно говоря в программировании не бум-бум, можно ли описать более подробно для новых игр от Nevosoft?

Денис Фатеев, 22/03/2010 13:42

Мне не приходилось сталкиваться с ними раньше (т.е., конкретно исследовать на возможность взлома), поэтому даже не представляю, что там за защита. Гляну, – если разберусь, то обязательно напишу.

Денис Фатеев, 01/09/2010 00:37

P.S. Кстати, написал про Nevosoft две недели назад. Всё не мог выбрать время – но лучше поздно, чем никогда.

Денис Фатеев, 22/03/2010 14:11

Кстати, хочу отметить еще один момент. Можно заметить, что последовательность операций для отучения игрушки от проверки регистрации легко поддается описанию алгоритмом.

Наверное, в связи с этим, на почту мне приходят такие вопросы: «почему бы не написать универсальную отучалку, выложить её здесь и не пудрить народу мозги дизассемблерами и hex-редакторами?» Отвечаю: я не буду этим заниматься, по крайней мере, по двум причинам:

  • Написание кряков считается уголовным деянием. В этой статье описаны лишь уязвимости в защите; если вы хотите использовать их на практике или даже написать свою отучалку – это ваше личное дело (смотрите дисклаймер);
  • Алгоритмы защиты (и соответственно, отучалок) быстро меняются. Вместо одного байта по EP теперь нужно править два и т.п. Зная базовый алгоритм, не составит труда разобраться в изменениях, а вот с автоматическим распаковщиком такое не пройдет (он должен быть достаточно интеллектуальным).
Александр, 26/03/2010 03:22

Всем добрый вечер.Установил Авиа-бандит, к ней прилагался генератор ключа СМС, ввел код, счетчик времени исчез как будто все нормально, поблагодарили за регистрацию, но игра не запускается, перегружался, чистил реестр, переустанавливал,но одно и тоже.При новой установке уже не требует ключ, сразу предлагает играть, но опять же не хочет запускаться.

Денис Фатеев, 26/03/2010 09:15

Два варианта: или у Вас сама игрушка не идёт (системные требования, несовместимость с оборудованием или ОС); или Ваш генератор ключей не рабочий. Иногда игрушки пытаются обмануть: принимают заведомо неверный код как правильный, но продолжают работать в демо-режиме.

Александр, 26/03/2010 11:31

ОС Windows 7, все остальные игры этого производителя идут.Дело в том, что это даже не демо-режим, потому что в деле я ее еще не видел (она не запускается, но есть две кнопки «Играть сейчас» и «Выход»)и некуда вставить новый ключик.Как это порешить?

Денис Фатеев, 26/03/2010 13:15

Если у Вас она не запускалась и в демо-режиме, значит у Вас она не будет работать вообще. ОС, настройки компьютера или неподдерживаемое железо. Обычно в каталоге игры создаётся лог запуска, может быть, позволит определить проблему.

Александр, 26/03/2010 23:56

А есть какой-то способ зарядить в нее новый ключик?

Денис Фатеев, 27/03/2010 00:52

Попробуйте удалить связанные с ней ключи реестра. Выше уже писали, где они примерно могут находиться. Если у Вас несколько установленных alawar-овских игрушек, у Вас там будет несколько вложенных папок, по количеству игрушек.

Тем, кому интересны технические детали, дополнительная информация: точное имя ветки реестра (используемая wrapper-ом для хранения данных о таймауте и прочее) можно узнать, обработав wrapper игрушки каким-нибудь распаковщиком ASProtect и заглянув в RCDATA редактором ресурсов (Restorator, Resource Hacker, PE Explorer). Там можно увидеть характерную строку, содержащую имя ветки реестра (и еще много чего интересного, в том числе и байты, которые надо править по EP). Вместо распаковщика, можно снять дамп с запущенной оболочки, если не используется защита ресурсов (я не проверял), после этого перестроить секцию ресурсов и далее смотреть редактором ресурсов.

Сергей, 17/05/2010 02:41

Добрый день. Денис. Приведенный Вами способ годится практически для всех программ, но вот для Веселой фермы 3 не подошел, пишет «Критическая ошибка в игре…». И еще. Нельзя ли поподробнее осветить действия при этом «Alawar пытаются манипулировать параметрами «Virtual Size» и характеристиками секций PE-файла. Излюбленным приемом является установка заведомо большого размера секции (для создания проблем при дампе), или сброса флага «executable» с секции кода.» Ну и еще. Занимались ли Вы изучением защиты TurboGames? Ничего не смог найти по ней.

Денис Фатеев, 17/05/2010 12:38

С «Весёлой фермой» действительно не всё так просто – полгода назад я смотрел вторую «ферму» и сейчас уже не помню деталей (то ли там, помимо навесной защиты, используются возможности ASProtect, то ли вовсе ASProtect вместо навесной защиты – не помню, поэтому врать не буду).

Насчет размера секций – на него стоит обратить внимание, если вы не можете сделать дамп с запущенного экземпляра или дизассемблировать по точке входа (для секции указано большое значение «VirtualSize» и дампер «повисает»). Насчет флага «executable» тоже все просто – убедитесь, что у секции, в которой находится точка входа, стоят атрибуты на выполнение («Characteristics»).

Что касается TurboGames – нет, не изучал. Думаю в ближайшее время написать про «NevoSoft», там тоже типовая защита. После этого, возможно, гляну.

Андрей, 17/05/2010 23:18

а если там в начале стоит не jump а call как быть в таком случае?

Денис Фатеев, 18/05/2010 18:11

Может, там вовсе не используется перенос точки входа (по «JMP [ADDRESS]») и всего лишь использована замена нескольких байтов по EP (как показано в статье). А может, это вовсе не защита wrapper-ом и разработчики применили какой-то другой способ.

Андрей, 26/05/2010 09:38

Да, вы правы, просто 2 байта и все. Спасибо -)

Сергей, 18/05/2010 01:05

Спасибо за ответы, Денис.

Навыерное это был 3 Ферма, со 2 кажется не было проблем, как и с остальными. Впрочем слышал, что сообщение «Критическая ошибка в игре…» появлялось не в начала, а в середине игр, но у меня такого не было.

NevoSoft внес изменение в распространение программ, теперь они устанавливаются через клиент, что очень неудобно. К тому же сам клиент недоделан, например его нельзя удалить с помощью деинсталлятора. В общем, плохой стал сайт.

Денис Фатеев, 18/05/2010 18:15

> NevoSoft внес изменение в распространение программ, теперь они устанавливаются через клиент

Это обстоятельство никак не отразилось на защите и алгоритм, увы, остался прежним.

Arab-Emir, 13/11/2010 17:50

Ваш алгоритм взлома подойдёт для большинства игр от Alawar?;-)

Денис Фатеев, 13/11/2010 18:02

Гарантий нет. Ведь защита может меняться.

Ксюша, 01/12/2010 07:49

Вот еcли бы еще последний этап росписали как менять, что менять и на что менять,а то не розберусь…

Денис Фатеев, 01/12/2010 11:45

Ксюша, всё это расписано выше :-) Я не знаю, как ещё подробнее можно описать. Пишите мне на почту, если вам нужны детальные объяснения по какому-либо моменту. Сразу скажу, чтобы понять здесь логику всех действий, нужно немного разбираться в программировании, немного почитать про реверсинг.

Григорий, 05/01/2011 05:17

PEiD: http://s010.radikal.ru/i312/1101/0a/667e80448f3c.jpg PETools: http://i043.radikal.ru/1101/b2/e724f1c5e247.jpg

«Нужно было бы запомнить это значение и прописать его в качестве точки входа для оригинального файла Romopolis.wrp.exe, с помощью того же PETools.»

Можно подробнее. Спасибо.

Денис Фатеев, 05/01/2011 09:51

Сложно сказать, не видя, куда ведёт первый переход.
Для начала, просто попробуйте в оригинальном файле восстановить первые 15 байтов по EP, руководствуясь дампом.

Сергей, 01/04/2011 01:52

0054CB4C E8 3C9A0000 call 0055658D ; Dumped.0055658D

0054CB51 E9 17FEFFFF jmp 0054C96D ; Dumped.0054C96D

вот что мне показал дамп , точка входа 0054CB4C. Прыжок идет на 0054CB51, но прописав точку входа с адресса 0054CB51 игра не запустилась. Как я понял это защита «первого рода». что я сделал не так ?

Денис Фатеев, 01/04/2011 08:02

Здесь не нужно менять EP. Просто пропишите в оригинальном файле по EP данные из дампа, один или несколько байт там должны различаться. Если не поможет, то это не wrapper или защита изменилась (в этом случае, пришлите ссылку на игру, гляну).

сергей, 02/04/2011 01:14

защита не изменилась через дебагер разобрался что к чему

Сергей, 02/04/2011 19:15

И что же к чему? Приведённая вами игра легко ломается и без отладчика с помощью дампа и замены нескольких байтов, иногда в разных секциях. Но вот для игры «Папины дочки едут на море» (http://www.alawar.ru/game/papas-daughters-2/ ) этого мало. Вылетает завершается без сообщений об ошибках после запуска.

Игра же «Эхо печали» (http://www.alawar.ru/game/echoes-of-sorrow/ ) вообще вылетает с ошибкой, хотя все изменения внесены.

Денис Фатеев, 03/04/2011 00:04

Сергей, а можно поподробнее про замену в нескольких секциях? Мне такое не попадалось и я уже давно не смотрел, как там «Алавар», так что немного не в теме..

сергей, 02/04/2011 23:37

А какие проблемы вызвало «эхо печали» ??? «папины дочки» сейчас посмотрю.

Сергей, 03/04/2011 00:02

Улетает в несуществующие адреса. Просто правки второй секции не достаточно.

Сергей, 03/04/2011 00:40

да что то поменяли тогда нули в реестре счетчик

Сергей, 03/04/2011 01:15

Правка реестра не желательна. Требуется рабочий exe-файл. И вообще методика взлома для игр Alawar с последней защитой. Есть и еще проблема. Если править только байты у точки входа, то некоторые игры нормально грузятся и играются, но при выходе дайют ошибку. Потмоу требуется замена сразу в двух местах. Такова игра Королевство семи печатей м mail (на Alawar пока нет).

Сергей, 03/04/2011 01:43

реально летит в неизвестность надо подумать

Сергей Сальцев, 03/04/2011 22:59

Денис, привожу пример. Секция правда одна, но бывают и разные. К сожалению не помню в каких играх. Игра – Королевство семи печатей (http://games.mail.ru/shareware/2503/download ) от Alawar.

Если сравнить дамп и *.wrp то видно, что в первой секции заменяется 64 байта.

см. 540 (секция .text)

 
C3904B95B8B0639269972E6A3F86FBB7DF186A913C270E843A088A3A1474C75
9091857E517B4F5756A668AC96DF3DD6A4343138D7EC7101FBFBB4E47F7725249

на

5589E583EC18C7042402000000FF15D0985A00E8C8FEFFFF908DB4260000000
05589E583EC18C7042401000000FF15D0985A00E8A8FEFFFF908DB42600000000

Если так и оставить, то игра запустится, но при выходе выдаст ошибку по адресу 295E

Опять сравниваем 295E-1000=195E

см. 191B (секция .text) 64 байта

84DD074646CCA739CB772B6E064FB15FD13262D189D2E19EFD7AAD0FF7CD156
52328FE9110F0AC2C4128DB6846B2992FF6890730BC6243B04597E1412CC471DB

на

893C24E849A50D00E9E3FEFFFF833D68775A00000F85850000008B47088D50F
F89570885C00F8F9BFEFFFF8D45E689442404893C24E817A50D00E987FEFFFFC7

Вот теперь нет никаких ошибок.

Сергей, 04/04/2011 01:21

что-то не на всех катит. эту тему еще вчера заметил

Сергей Сальцев, 04/04/2011 01:41

В новой защите 64 байта от точки входа заменяются всегда, но если не будет работать, то надо искать дальше. Если выводится сообщение об ошибке при входе или выходе и адрес, то смотрите нужную секцию и сравнивайте дамп с *.wrp вблизи адреса будет еще одно изменение в 64 байта, его и вставьте. Пока только две игры не запустились после двух исправлений.

Сергей, 04/04/2011 01:48

я поробую лаунчер расковырять

Сергей, 04/04/2011 01:52

вы hex радактором просматриваете файлы?

Сергей Сальцев, 04/04/2011 02:23

Да. Редактор Hex Workshop. Очень удобный. Ну еще OllyDBG. Но в данном случае хватает и hex-редактора. Для дампа хорош PETools, он же для просмотра структуры.

Сергей, 04/04/2011 02:44

«эхо печали» wrp.exe C39070B4 – точка входа

C39070D40732E50E88F0A3638DB9D0D3B493EDC88AE125AC01B0685ED87FD36
BC9D3681A830DA85FE85A8FFF1569446C53C2834DEC12FBF5981AD05D188C52
3FFFA13CDC58008B00BA5CBE5500E812C4F0FF8B0DC4D75800A13CDC58008B0
08B151C4F55

dump.exe точка входа – 558BEC83

558BEC83C4E4538B1833C08945F05533D28BC3E868FFFFFF5984C0750233DB8
BC35B8BE55DC38BC0803D4DF0580000743DEB29803DB5F558000075206A00E8
0DEEFFFFB9C0175900B20133C0E86FEEFFFF84C074196A0AE8F4EDFFFFB9C01
75900B20133

И ЭТО ВСЕ ? хотя дальше изменения тоже есть

Сергей Сальцев, 04/04/2011 03:08

Ну, если есть желание, то можно и всю секцию поменять. Ничего не изменится. Просто времени нет глубоко заниматься этой игрой.

Сергей, 04/04/2011 03:33

ясно

Сергей, 04/04/2011 11:45

есть идеи как скрыть ольку при ковырянии в exe-ке лаунчера ? у меня 7 softice не робит

Денис Фатеев, 04/04/2011 12:38

Я для таких целей ХР на «виртуалке» держу. А вообще, на «Алаваре» ASProtect (по крайней мере, раньше был), плагин IsDebuggerPresent для Olly помогал.

Сергей, 04/04/2011 19:01

ASProtect 1.2 1.3v пакуют

Сергей Сальцев, 04/04/2011 22:18

По ручной распаковке ASProtect много материала, но не знаю есть ли автораспаковщик для 1.2. В «Эхо печали» запакованы и dll. Можно и их распаковать. Не смотрел, но скорее всего они распаковываются при запуске лаунчера.

Сергей, 05/04/2011 13:49

руками только если

Денис Фатеев, 05/04/2011 14:01

Да нет, stripper справляется. Только потом требуется перестройка ресурсов.

Сергей, 05/04/2011 14:28

exe лаунчера я распаковал. Только вот импорт в таблицах востановить не знаю как или чем )))))))

Денис Фатеев, 05/04/2011 14:41

Когда я пробовал stripper-ом, импорт автоматом был восстановлен. Это было год-полтора назад.

Сергей, 05/04/2011 14:48

стрип 1.35 распаковал все без проблем.

Сергей, 05/04/2011 14:57

Я только не понял dll зачем защищать asp? Я так-то недавно занядся кряком, надоело все время в реестре править.

Сергей Сальцев, 05/04/2011 17:47

Чтобы нельзя было без лаунчера обойтись, наверное. Прпатченный wrp не работает с запакованными dll. Но стриппером dll не распаковать.

Сергей, 06/04/2011 13:37

не лаунчер ковырять смысла нет он пищется под конкретную игру это не новософт

Сергей, 08/04/2011 15:26

295E Опять сравниваем 295E-1000=195E

см. 191B (секция .text) 64 байта Hex Workshop v6 не показывает секции только байты тупо как настроить ?

Денис Фатеев, 08/04/2011 15:37

Я вручную считал, от начала секции. Честно говоря, сейчас нет времени смотреть и разбираться, что там «Алавар» напридумывал. Другой работы хватает ;-)

Будет здорово, если разберётесь и опишете, что там нового появилось. Многим будет интересно.

Сергей, 08/04/2011 16:35

пока в процессе

Сергей, 08/04/2011 17:49

Анг версии вроде не изменились, но при запуске просто виснут.

Сергей Сальцев, 12/04/2011 23:47

Серегй, вот вам подсказка. Если взять английскую версию, запустить, снять дамп и т.д. А потом перенести измененный файл в русскую версию, то она заработает и нормально будет играться, но при выходе будет выдавть ошибку.

Сергей Сальцев, 13/04/2011 01:28

Потому придетя, как выше сказано менять 64 байта (40H) и в третьей секции (просто найдите первое отличие размером в 40H) то и выходить будет без ошибок.

Сергей, 13/04/2011 14:45

В общем лаунчер можно сделать для всех игр 1. Например PapasDaughters2.exe запускает любую игру! но oep и куски кода берутся с этого долбанного wrapper.dll который запакован asprotect как я понял . через олю распакавать не смог

Роман, 24/05/2011 19:21

Сделал проще. Через Regedit нашел папку HKEY_CURRENT_USER\Software\Alawar. Удалил в нем папку Play (в ней инфа о истечении триала) А папку Alawar правой мышкой и «Разрешения» Галочки «запретить» все и всем ))) пока работает и 30 минут не тают… ))) Проверено на Алиен шутер…

Денис Фатеев, 24/05/2011 20:30

Ну как сказать… Это обходной путь, не полноценное решение.

Я был бы заинтересован в полном исследовании защиты (включая полный реверсинг wrapper-а), но к сожалению времени на это у меня нет. Может быть, кто-нибудь возьмётся и довершит начатое.

Женя, 09/07/2011 22:10

Кто уже сломал файл PapasDaughters2.wrp.exe к игре «Папины дочки едут на море» можете скинуть этот файл на почтовый ящик seastats@mail.ru я его заменю ?

дмитрий, 04/10/2011 23:02

и че это за такие хреновые способы а в два раза все быстрее делаю и проще!!!!!!!!!!!

Денис Фатеев, 05/10/2011 19:48

Дмитрий, здесь была цель показать сам механизм защиты. А алгоритм для взлома пусть крякеры оптимизируют, если есть желание. Я думаю, в сети есть множество распаковщиков-unwrapper-ов, пользуйтесь ими, чтоб не терять время.

Алексей, 05/10/2011 18:38

Денис,обьясни пожалуйста второй способ взлома тоже в картинках а то я как уже не пытался изменять всегда выдает ошибку.

Денис Фатеев, 05/10/2011 20:00

В картинках лень :-) Я даже не уверен, что Windows на моём компьютере ещё работоспособна.

Вкратце, по теме, если у вас первая инструкции по EP вида «JMP [ADDRESS], RET», выписываете адрес ADDRESS на бумажку, открываете wrp-exe в PETools и исправляете адрес EP на ваш ранее выписанный. Для дополнительной страховки проверьте, что по новому адресу находится нечто, похожее на валидный EP.

Kariamba, 31/10/2011 23:00

Добрый день, Денис!

Приведенным Вами алгоритмом, пользуюсь уже давно, но вот столкнулся с нижеследующей ситуацией.

Игра: сокровища монтесумы 2 entrypoint : 00383054 file offset: 00382454

Дамп памяти процесса в optional headers дает всего 28 байт.

Заменяю эти 28 байт в .wrp.exe по file offset.

Запускаю - вылетает с ошибкой по адресу 00383070.

Подозрительно: 00383054 + 28байт = 00383070. По адресу 00383070 находятся данные 000000 (не знаю будет ли полезна эта информация).

Как быть в этой ситуации?

С уважением, Kariamba.

Денис Фатеев, 01/11/2011 02:11

Не держитесь инструкций, аки слепой стены :-)
Вывод дизассемблера, а точнее, инструкция возврата, ограничила ваше воображение. А между тем, если сдампить процесс и посмотреть на дамп в нормальном дизассемблере на пару десятков инструкций от точки входа, всё становится на свои места.

В WRP-файле пошифрованы пара десятков байт, начиная от EP. Возьмите их из дампа до первого совпадения.

P.S. Кстати, там пытались реализовать простую антиотладку. Но от Ольки с плагином скрытия отладчика всё равно не спасает.

Kariamba, 01/11/2011 12:28

Денис, признаюсь сразу, в ассемблере я не силен.

Я добыл olly с официального сайта, запустил подцепился к процессу (attach blabla.wrp.exe) и тут все, приехали - что дальше делать не пойму…

Быть может есть какая инструкция по применению? или без ассемблера лучше не лезть?

Денис Фатеев, 01/11/2011 13:20

Я и сам не гуру дизасма, тем более, годами этим не занимаюсь. За инструкциями по применению Olly лучше пройти на wasm.ru.

Цепляетесь к процессу, смотрите, что по EP, сразу увидите различия с оригинальным файлом. Ну или можете WDASM'ом EP дампа посмотреть. Или любым дизассемблером, который не ограничивает обзор первым встречным 'ret' :-)

Kariamba, 01/11/2011 15:14

Круть! WDASM - рулит. 2 часа битвы и разбирательств в, прямо таки сказать, очень не удобном интерфейсе и готово.

Спасибо за совет!

сергей, 10/12/2011 17:03

алавар сменил защиту в очередной раз

Владимир , 15/12/2011 15:32

Опять сменилась защита. До этого запускал через реестр. вводил девять девяток перед каждым запуском игры всё было гуд. Теперь этот фокус не проходит. Подходит ли вышеописанный метод для сегодняшней защиты?

Денис Фатеев, 15/12/2011 17:05

Не знаю, что там изменилось, ещё не смотрел. Как-нибудь гляну в свободное время.

Алексей, 16/12/2011 21:23

Здравствуйте!!! Подскажите пожалуйста как снять блокировку бесплатного времени в играх Алавар. Написано «Игра заблокирована. обнаружена попытка взлома бесплатного времени. Для снятия блокировки вам требуется приобрести лицензионный ключ»

Александр, 17/12/2011 21:53

Здравствуйте Денис. Аналогичная ситуация как в предыдущем посту. При малейшей попытке изменения «внутренностей» игры она блокируется и выходит сообщение:«Игра заблокирована. обнаружена попытка взлома бесплатного времени. Для снятия блокировки вам требуется приобрести лицензионный ключ». Помогите…

сергей, 18/12/2011 01:32

могу выложить ломанный exe для исследований.

Наталья, 18/12/2011 23:23

У меня были сняты ограничения ч/з HKEY-CURRENT-USER…….Play,с установкой галочек на запрете разрешений. Так играла год.На «Золотоискателях» уже не прошло,более того игра блокируется сразу,выдаёт «несанкционированный взлом по времени» Ни тебе пробного времени, сразу купи! но проблема даже не в этом, а в том, что хочу вернуть настройки и не помню как. Поменяла их по пошаговому описанию. Помогите! хочу хотя бы 30мин.бесплатно,а не кота в мешке

Vit, 19/12/2011 03:05

поменяй wrapper.dll на старый файл и ломай старыми кряками

Vit, 19/12/2011 03:08

http://starshina21.0pk.ru/viewtopic.php?id=49 инструкция сдесь

жадеев роман геннадьевич, 26/12/2011 16:12

У меня токая проблема на новых алавар нужно в писать номер телефона по россии.А мне нужно для казахстана в вожу смс год аон мне говорит игра заблокирована помогите плиз все перепробывал не получается

Дмитрий, 30/01/2012 11:51

У меня все игры стали блокироваться. Раньше я их ломал обычным кряком. А сейчас пишут - вы ввели неленцизионный ключ. Игра заблокирована. Введите ваш номер телефона. Игры по году уже установлены. И тут такое. Что делать, подскажите.

Денис Фатеев, 30/01/2012 13:59

Дмитрий, на данный момент не знаю. Пока нет времени посмотреть, как только появится – гляну обязательно. Самому интересно, что там придумали :-)

Введите ваш комментарий

 
© 2009–2011 Денис Фатеев (Danger)
Копирование контента без указания автора преследуется сотрудниками ада.
Recent changes RSS feed
Valid XHTML 1.0
Valid CSS