Сейчас на форуме: vsv1, NIKOLA, r0lka, johnniewalker (+4 невидимых) |
eXeL@B —› Крэки, обсуждения —› Взлом Alawar игр (отучим от триала) |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 15 . 16 . >> |
Посл.ответ | Сообщение |
|
Создано: 28 сентября 2006 04:20 · Личное сообщение · #1 Уж извините за форму написания ведь он почти первый (че-то я в последнее время расщедрился) Мини тутор по снятию триал-защиты с игр от Alawar`a Инструмент: Shadow with bpmx да голова Кролик : Игра "Разгадай код Да Винчи" Как обычно приобрел очередной ComputerBild и на диске прилагаемом к нему нашлась игруха от алавара "Разгадай Код Да Винчи". На все про все наиграться мне отвели 30 минут а игруха класная новый вариант Lines.Поскольку я никогда не смотрю что мне нужно оттдать за то чтобы вдоволь насладится очередным программным продуктом пришлось на время отложить работу и взятся за сей продукт. При первом рассмотрении PEid нашел Aspr.Периодически лазить в реестр и что нибудь там чистить это не по мне. Не долго думая обработал поделку stripper`ом.Получилось.Причем stripper сказал что триал инфы не используются. Уже интересно ДА. Однако продукт после распаковки запускаться не захотел и улетал в несуществующие адреса. Как же так несправедливо получается уже потрачено 5 минут драгоценного времени впустую 8-( не отступать рано продолжим. Загрузил дамп в shadow и своим трейсером дошел до места где вызываются не существующие адреса. Выглядело это место примерно так call dword [4383a8] где по этому адресу лежало 00401440 естественно указывающее вникуда. Беда но зачем же отступать. Я рассудил так раз такой call есть значит что-то не до конца обработало дамп не доведя до ума т.е. при распаковке процедуры приведения проги до нормального вида не включались а сидели в апи аспра т.е. где то же они есть.Поиском всех референсов на адрес 004383а8 нашлась интересное место: 1 PUSH da_vinci.0040E36D ; /Arg5 = 0040E36D 2 PUSH DWORD PTR DS:[428F44] ; |Arg4 = 00000000 3 PUSH da_vinci.0042839C ; |Arg3 = 0042839C 4 PUSH da_vinci.004210DC ; |Arg2 = 004210DC ASCII "GetLocaleInfoW" 5 PUSH da_vinci.00420F50 ; |Arg1 = 00420F50 ASCII "kernel32.dll" 6 CALL da_vinci.0040E02F ; \da_vinci.0040E02F 7 JMP DWORD PTR DS:[42839C] ; da_vinci.0040D9F0 8 PUSH da_vinci.0040E24E ; /Arg5 = 0040E24E 9 PUSH DWORD PTR DS:[428F40] ; |Arg4 = 00000000 10 PUSH da_vinci.004283A8<---вот он адресок ; |Arg3 = 004283A8 11 PUSH da_vinci.004210EC а это то что должно быть --> ; |Arg2 = 004210EC ASCII "GetProcAddress" 12 PUSH da_vinci.00420F50 ; |Arg1 = 00420F50 ASCII "kernel32.dll" 13 CALL da_vinci.0040E02F ; \da_vinci.0040E02F 14 JMP DWORD PTR DS:[4283A8] 15 PUSH da_vinci.0040E2AA ; /Arg5 = 0040E2AA 16 PUSH DWORD PTR DS:[428F3C] ; |Arg4 = 00000000 17 PUSH da_vinci.004283B8 ; |Arg3 = 004283B8 18 PUSH da_vinci.004210FC ; |Arg2 = 004210FC ASCII "LoadLibraryW" 19 PUSH da_vinci.00420F50 ; |Arg1 = 00420F50 ASCII "kernel32.dll" 20 CALL da_vinci.0040E02F ; \da_vinci.0040E02F 21 JMP DWORD PTR DS:[4283B8] ; da_vinci.0040DA3A Осмыслив данный кусок кода начинаю понимать что это то что надо однако ни одного референса на 1 строку решаю рискнуть выставляю оер на строку 8 и жму F8 до 14 строки и о радость по адресу 4383a8 цифирки меняются на почти (внимательно) валидные адреса. 1 PUSH da_vinci.0040E36D ; /Arg5 = 0040E36D 2 PUSH DWORD PTR DS:[428F44] ; |Arg4 = 00000000 3 PUSH da_vinci.0042839C ; |Arg3 = 0042839C 4 PUSH da_vinci.004210DC ; |Arg2 = 004210DC ASCII "GetLocaleInfoW" 5 PUSH da_vinci.00420F50 ; |Arg1 = 00420F50 ASCII "kernel32.dll" 6 CALL da_vinci.0040E02F ; \da_vinci.0040E02F 7 JMP DWORD PTR DS:[42839C] ; unicows.GetLocaleInfoW 8 PUSH da_vinci.0040E24E ; /Arg5 = 0040E24E 9 PUSH DWORD PTR DS:[428F40] ; |Arg4 = 00000000 10 PUSH da_vinci.004283A8 ; |Arg3 = 004283A8 11 PUSH da_vinci.004210EC ; |Arg2 = 004210EC ASCII "GetProcAddress" 12 PUSH da_vinci.00420F50 ; |Arg1 = 00420F50 ASCII "kernel32.dll" 13 CALL da_vinci.0040E02F ; \da_vinci.0040E02F 14 JMP DWORD PTR DS:[4283A8] <-видите куда теперь он указывает ; unicows.GetProcAddress И так если использовать данную процедуру (их кстати 2 не небольшом расстоянии друг от друга и дальше (естественно пропуская jmp`ы) можно полностью раскодировать импорт, он там небольшой около 20 имен функций.Но вот зараза если внимательно приглядеться то можно заметить что GetProcAddress находится не во всеми любимом kernel32.dll а в какои то херне под названием unicows.dll (Кстати это микрософтовская библиотека я так не хера и не понял зачем она нужна.Плюс с ней программа не пожелала запускаться. Чтож отступать поздно потрачено уже около 25 минут.Думаю дальше. Далее найдется до фига желающих меня обласкать за то что я пошел обходным путем однако ничего не попишешь в тот момент ко мне пришла такая идея. Я взял да подставил в эту микротаблицу импорта правильные адреса всех фунции т.е. теперь по адресу 4283a8 лежал указатель не на unicows.GetProcAddress а на kernel32.GetProcAddress. Все прекрасно прога запустилась но функции триала остались. Думаю дальше ведь времени уже потрачено около 40 минут. Анализ данного импорта показал что wrapper юзает функции в том числе CreateFile и CreateProcess, WriteProcessMemory т.е. по сути wrapper создает отдельный файл и потом его контролирует. Что ж ставим бряки на эти функции и отпускаем прогу нажимаем в ней продолжать играть и вываливаемся на создании файла game32.img.(нужно только поменять атрибуты для файла на Normal) Все вроде бы готово. Уф.Глушим прогу Переименовываем его в game32.exe и пытаемся запустить и...... ОБЛОМ. Прога не запускается. Думаю дальше. Посмотрим на oep (game32.exe) и видим что не все так просто просто там ничего нет. Загружаем в олю родителя оставляем бряки на старом месте.СТАРТ. Проходим как описано выше до создания дочки (game32....) жмем еще раз f9 и вываливаемся на бряке WriteProcessMemory первый пропускаем он просто записывает дочку а вот когда прогавалится еще раз смотрим что же она пишет и о боги видим что в наш game32... на место оер записывается 6 байт посмотрев в буфер запоминаем их а затем подправляем наш game32.exe. все игра заработала..Облегчение..... P.S. Я не знаю сколько продержится эта защита после опубликования данного минитутора пользуйтесь пока. |
|
Создано: 06 мая 2009 07:52 · Поправил: gegter · Личное сообщение · #2 |
|
Создано: 06 мая 2009 09:55 · Поправил: FrenFolio · Личное сообщение · #3 gegter Сейчас на алаваре враппер снимается следующим образом: также как и раньше дампишь файл лаунча игры (накрытый аспром), ищешь в ресурсах ep игры (сейчас он не переписывается) и рядом будет байт, который нужно восстановить на ep. Вот и все отличие, в этом одном байте, который нужно переписать на ep в оригинальном файле *wrp.exe. FrenFolio пишет: вопрос был в другом. Хорошо, а в чем тогда вопрос? И где ты там драйвер увидел? У меня игры алаваровские запускаются нормально и после 2-ого, и 3-его, и даже 10-ого раза нормально, сколько не отлаживал их в ольке, и без всякой перезагрузки. gegter пишет: Установил пару игрушек от Alawar, при открытии файла игры в winhex, сохранении, файл удаляется А это как понять? ----- Программист SkyNet |
|
Создано: 06 мая 2009 10:19 · Личное сообщение · #4 |
|
Создано: 06 мая 2009 12:00 · Поправил: HandMill · Личное сообщение · #5 gegter пишет: второй раз игра уже не запускается до перезагрузки бред какой-то первый раз вообще услышал о драйвере. В последнем враппере встречал значение в реестре тут, HKCU / Software / Alawar / *game name*. После убийства ветки игра продолжала после триала работать. Отладке ольки вообще никак не противилась (аспр немного конечно ругается, но то не страшно). gegter пишет: в любом случае уже, oep сменил в *wrp.exe а что за игра если не секрет? а то мне в последнее время что-то многовато игр пришлось отладить для друзей и всё работало (бряк на WriteProcessMemory и запись байтов в ОЕР). Сколько смотрел игр - не встречал ни одной с драйвером. add: скачал "Маленькие бомберы" - ничего такого я там не заметил и у меня нет исчезания файлов. Правда сохраняю я файлы в папку с игрой при помощи Hex Workshop. начал качать авианалёт 3 add: скачал "Авианалет 3" - всё тоже самое. ----- все багрепорты - в личные сообщения |
|
Создано: 06 мая 2009 13:02 · Поправил: gegter · Личное сообщение · #6 |
|
Создано: 06 мая 2009 13:40 · Личное сообщение · #7 |
|
Создано: 06 мая 2009 13:43 · Поправил: gegter · Личное сообщение · #8 |
|
Создано: 29 мая 2009 00:27 · Личное сообщение · #9 Попытался отвязать от враппера через подмену оеп и ничего не вышло. Игра при запуске стала вылетать с ошибкой. Самое интересное, что в директории лежит некий файлик splash, непонятно к чему относящийся. линк на игру: |
|
Создано: 29 мая 2009 00:41 · Личное сообщение · #10 |
|
Создано: 02 июня 2009 12:48 · Личное сообщение · #11 |
|
Создано: 02 июня 2009 12:54 · Личное сообщение · #12 ARCHANGEL пишет: А то vera 0.15 не определяет версию 8819_02.06.2009_CRACKLAB.rU.tgz - ASPrINF_16.rar |
|
Создано: 04 июня 2009 15:26 · Личное сообщение · #13 На всех НОВЫХ играх, которые на сегодня можно скачать с алаваровского сайта, вроде бы, работает. Если у кого-то не заработает, просьба написать тут или в личку ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 04 июня 2009 16:18 · Личное сообщение · #14 |
|
Создано: 04 июня 2009 20:27 · Личное сообщение · #15 |
|
Создано: 04 июня 2009 20:59 · Личное сообщение · #16 |
|
Создано: 05 июня 2009 02:48 · Личное сообщение · #17 |
|
Создано: 05 июня 2009 15:14 · Личное сообщение · #18 видел в этой ветке уни патч предложенный одним парнем. после применения только остается нажать на зарегистрировать игру. игра регистрируется как лицензионная, после можно вернуть все как было до патча, в реестр вносятся изменения, что игра зарегена. защита алавара изменилась (первый байт на oep меняется), а патч работоспособен. реализация онтересная. f3e5_05.06.2009_CRACKLAB.rU.tgz - Alawar_patch.exe |
|
Создано: 05 июня 2009 15:35 · Личное сообщение · #19 |
|
Создано: 05 июня 2009 19:42 · Поправил: serg005 · Личное сообщение · #20 |
|
Создано: 08 июня 2009 15:17 · Личное сообщение · #21 Насколько я понял, для того, чтоб отвязать игры от триала, т.е. от враппера, нужно для начала минимум запустить целевой файл, но если количество триальных минут игры было уже сыграно, то запустить игру не получится, поэтому по-любому, нужно патчить, хоть в памяти, хоть на диске. Или у кого-то получалось не патчить? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 08 июня 2009 22:24 · Поправил: serg005 · Личное сообщение · #22 ARCHANGEL У Vovan666 в его анвраппере можно не только патчить,но и получить чистый экзешник ,продлить триал и выдернуть ключ(для русских игр)Его анвраппер работает независимо кончилось время триала или нет.Хотя воможно и увеличить триал придётся если время вышло чтобы получить чистый экзешник(но сам я не проверял.Триал то легко продляется и вручную правкой в реестре. |
|
Создано: 09 июня 2009 05:53 · Личное сообщение · #23 ARCHANGEL пишет: Насколько я понял, для того, чтоб отвязать игры от триала, т.е. от враппера, нужно для начала минимум запустить целевой файл, но если количество триальных минут игры было уже сыграно, то запустить игру не получится, поэтому по-любому, нужно патчить, хоть в памяти, хоть на диске. Или у кого-то получалось не патчить? Ничего патчить не нужно и от количества триального времени это не зависит! Просто дампишь файл враппера и отттуда считываешь нужную инфу, а запускаться он будет и тогда, когда окончилось халявное время. serg005 пишет: Твой анвраппер у меня есть и он нормально работает. Ну вообще-то он не мой. В смысле, не я его писал. ----- Программист SkyNet |
|
Создано: 28 июля 2009 10:49 · Поправил: Serrrgio · Личное сообщение · #24 День добрый. Vovan666 пишет: Там теперь, адрес оеп не подменяется, а подменяется первый байт в оеп на c3(ret). С игрой Трехколесники все получилось, спасибо. А вот с игрой пропатчил wrp.exe, запускаю, и с ошибкой меня отправляют на сайт, скачать игру еще раз может кто посмотрит что там намутили?... |
|
Создано: 28 июля 2009 11:47 · Личное сообщение · #25 Чтож так весь рунет с этой долбаной фермой переполошился, в отладчике проблему найти 5сек. ищи во "взломанном" файле любым хекс-редактором юникодовскую строку wrapper.dll после чего замени ее на какую-нибудь user32.dll или kernel32.dll и всё. Простенькая проверка, есть ли в импорте файла который запустил FarmFrenzy3.wrp файл wrapper.dll, т.к. после "взлома" игру запускает explorer.exe, разумеется у него в табличке нету нужного файла. |
|
Создано: 28 июля 2009 13:12 · Личное сообщение · #26 /*52A70B*/ JMP SHORT FarmFren.0052A724================>ставим jmp и играем в своё удовольстви /*52A70D*/ PUSH FarmFren.006E6F28 /*52A712*/ LEA EDX,DWORD PTR SS:[ESP+14] /*52A716*/ PUSH EDX /*52A717*/ MOV DWORD PTR SS:[ESP+18],FarmFren.006CCEC8 /*52A71F*/ CALL FarmFren.005D7D96 /*52A724*/ MOV ECX,DWORD PTR SS:[ESP+688] ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 28 июля 2009 13:36 · Личное сообщение · #27 ClockMan пишет: /*52A70B*/ JMP SHORT FarmFren.0052A724================>ставим jmp и играем в своё удовольстви Кстати, тоже так пропатчил, все ок было. А вообще щас же серийники другие, прошлые не подходят там для их игр, или без разницы? В смысле длинные, из ресурсов? Или это токльок на веселой фреме 3 так было, или везде так щас, смена защиты? ----- Программист SkyNet |
|
Создано: 28 июля 2009 13:42 · Поправил: Serrrgio · Личное сообщение · #28 |
|
Создано: 28 июля 2009 14:28 · Поправил: Vovan666 · Личное сообщение · #29 FrenFolio пишет: А вообще щас же серийники другие, прошлые не подходят там для их игр, или без разницы? В смысле длинные, из ресурсов? Или это токльок на веселой фреме 3 так было, или везде так щас, смена защиты? короткие серийники и раньше были, только никто их не покупал при вводе короткого серийника в реестр забивается длинный и всё... Длинные не подходят пока только вроде на 2ух играх. зы Короткие я вчера закейгенил там простейший xor. rapidshare.com/files/261261185/alsmskg20.fixed.rar |
|
Создано: 28 июля 2009 14:30 · Поправил: SER[G]ANT · Личное сообщение · #30 FrenFolio пишет: А вообще щас же серийники другие, прошлые не подходят там для их игр, или без разницы? В смысле длинные, из ресурсов? Или это токльок на веселой фреме 3 так было, или везде так щас, смена защиты? из др. темы копирну свой ответ скачал игру наугад "Супер Покер!" (главное чтобы свеженькая была, эта от 18 Июлья, 2009) установил. запустил fivecarddeluxe.exe и сдампил ее при помощи PETools дамп открыл через ресторатор и в SMSKEY увидел ключ скопировал его при помощи WinHex закрыл игру и открыл local.log там ищу "info:In ASPR::SetRegistrationKey key_path=Software\Alawar\6338" (номер игры можно узнать и в ветке реестра HLM\SOFTWARE\Alawar\AlawarArcadeRu\InstalledGames\) открываю реестр, в ветке HKEY_CURRENT_USER\Software\Alawar\ создаю раздел "6338" в данном разделе создаю строковой параметр с именем "Key" и вбиваю туда ключ. Запускаю игру и она зарегистрирована. Способ муторный, зато работает и не только на данной игре. |
|
Создано: 28 июля 2009 15:19 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 15 . 16 . >> |
eXeL@B —› Крэки, обсуждения —› Взлом Alawar игр (отучим от триала) |