Сейчас на форуме: vsv1, NIKOLA, r0lka, johnniewalker (+4 невидимых)

 eXeL@B —› Крэки, обсуждения —› Взлом Alawar игр (отучим от триала)
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 15 . 16 . >>
Посл.ответ Сообщение

Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 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. Я не знаю сколько продержится эта защита после опубликования данного минитутора пользуйтесь пока.



Ранг: 214.1 (наставник)
Активность: 0.130
Статус: Участник

Создано: 06 мая 2009 07:52 · Поправил: gegter
· Личное сообщение · #2

Установил пару игрушек от Alawar, при открытии файла игры в winhex, сохранении, файл удаляется.




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 06 мая 2009 09:55 · Поправил: FrenFolio
· Личное сообщение · #3

gegter
Сейчас на алаваре враппер снимается следующим образом: также как и раньше дампишь файл лаунча игры (накрытый аспром), ищешь в ресурсах ep игры (сейчас он не переписывается) и рядом будет байт, который нужно восстановить на ep. Вот и все отличие, в этом одном байте, который нужно переписать на ep в оригинальном файле *wrp.exe.
FrenFolio пишет:
вопрос был в другом.

Хорошо, а в чем тогда вопрос? И где ты там драйвер увидел? У меня игры алаваровские запускаются нормально и после 2-ого, и 3-его, и даже 10-ого раза нормально, сколько не отлаживал их в ольке, и без всякой перезагрузки.
gegter пишет:
Установил пару игрушек от Alawar, при открытии файла игры в winhex, сохранении, файл удаляется

А это как понять?

-----
Программист SkyNet




Ранг: 214.1 (наставник)
Активность: 0.130
Статус: Участник

Создано: 06 мая 2009 10:19
· Личное сообщение · #4

FrenFolio
не надо меня учить как снимать враппер. вопрос был в другом.



Ранг: 222.2 (наставник), 115thx
Активность: 0.140.01
Статус: Участник

Создано: 06 мая 2009 12:00 · Поправил: HandMill
· Личное сообщение · #5

gegter пишет:
второй раз игра уже не запускается до перезагрузки

бред какой-то
первый раз вообще услышал о драйвере. В последнем враппере встречал значение в реестре тут, HKCU / Software / Alawar / *game name*. После убийства ветки игра продолжала после триала работать. Отладке ольки вообще никак не противилась (аспр немного конечно ругается, но то не страшно).
gegter пишет:
в любом случае уже, oep сменил в *wrp.exe

а что за игра если не секрет? а то мне в последнее время что-то многовато игр пришлось отладить для друзей и всё работало (бряк на WriteProcessMemory и запись байтов в ОЕР). Сколько смотрел игр - не встречал ни одной с драйвером.

add: скачал "Маленькие бомберы" - ничего такого я там не заметил и у меня нет исчезания файлов. Правда сохраняю я файлы в папку с игрой при помощи Hex Workshop. начал качать авианалёт 3

add: скачал "Авианалет 3" - всё тоже самое.

-----
все багрепорты - в личные сообщения




Ранг: 214.1 (наставник)
Активность: 0.130
Статус: Участник

Создано: 06 мая 2009 13:02 · Поправил: gegter
· Личное сообщение · #6

FrenFolio
так и понимай, открываю файл в винхекс, сохраняю им же в папке игры, файл удаляется через сек.




Ранг: 307.9 (мудрец), 196thx
Активность: 0.180
Статус: Участник

Создано: 06 мая 2009 13:40
· Личное сообщение · #7

gegter
Такой хрени как Deep Freeze, Shadow User и прочие в таком духе не стоит ?
Alawar драйверов не ставит и никогда не ставил. Или возможно косячит сам WinHex ?

-----
Don_t hate the cracker - hate the code.




Ранг: 214.1 (наставник)
Активность: 0.130
Статус: Участник

Создано: 06 мая 2009 13:43 · Поправил: gegter
· Личное сообщение · #8

P.S. в общем глюк винхекса был, сам стирал, поставил более новую его версию все норм. что не нравилось в алаваре хз. сори что потревожил всех. совпадение не айс. версия была WinHex v11.6 SR-13 Rus
спасибы HandMill



Ранг: 0.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 мая 2009 00:27
· Личное сообщение · #9

Попытался отвязать от враппера через подмену оеп и ничего не вышло. Игра при запуске стала вылетать с ошибкой. Самое интересное, что в директории лежит некий файлик splash, непонятно к чему относящийся.

линк на игру: http://www.alawar.ru/download/AlawarRuGreatSecretsDaVinciRus.exe (13метров)



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 29 мая 2009 00:41
· Личное сообщение · #10

Там теперь, адрес оеп не подменяется, а подменяется первый байт в оеп на c3(ret).




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 02 июня 2009 12:48
· Личное сообщение · #11

Так, просто интересно, что за версия аспра на екзешниках? А то vera 0.15 не определяет версию. Хотя, конечно, сломать саму игру это не мешает, но всё же.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 02 июня 2009 12:54
· Личное сообщение · #12

ARCHANGEL пишет:
А то vera 0.15 не определяет версию



8819_02.06.2009_CRACKLAB.rU.tgz - ASPrINF_16.rar




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 04 июня 2009 15:26
· Личное сообщение · #13

--> Universal patcher <--
На всех НОВЫХ играх, которые на сегодня можно скачать с алаваровского сайта, вроде бы, работает. Если у кого-то не заработает, просьба написать тут или в личку

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 04 июня 2009 16:18
· Личное сообщение · #14

ARCHANGEL
Добавь RGN в патч, а то смотрится криво...



Ранг: 10.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 июня 2009 20:27
· Личное сообщение · #15

ARCHANGEL
Скачал с алавара игру Между мирами и попробовал патчер,он выдал что размер wrapper.dll неправильный или уже пропатчено.Вобщем не сработал.Ломалка от Vovan666 (антиалавар 074) сработала,но ключ выдернула неправильный.Там постоянно меняют версию враппера.




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 04 июня 2009 20:59
· Личное сообщение · #16

serg005
Вот ента приблуда должна помочь
filesurf.ru/122598
А патч самого враппера - самый ненадежный метод. Потому как они постоянно его обновляют, и любое небольшое изменение приведет к неработоспособности метода патча. К тому же, он будет работать только для русских игр.

-----
Программист SkyNet





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 05 июня 2009 02:48
· Личное сообщение · #17

Про то, что патч сам по себе ненадежен - не совсем справедливо, просто я криво сделал, пойду переделывать

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 214.1 (наставник)
Активность: 0.130
Статус: Участник

Создано: 05 июня 2009 15:14
· Личное сообщение · #18

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

f3e5_05.06.2009_CRACKLAB.rU.tgz - Alawar_patch.exe



Ранг: 214.1 (наставник)
Активность: 0.130
Статус: Участник

Создано: 05 июня 2009 15:35
· Личное сообщение · #19

127001
что в директории лежит некий файлик splash, непонятно к чему относящийся
этот файл показывает заставку алавара



Ранг: 10.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 05 июня 2009 19:42 · Поправил: serg005
· Личное сообщение · #20

gegter
Этот патч не работает на игре Между мирами(версия враппера постоянно меняется).
Патч от Vovan666 (антиалавар 074)нормально пропатчил враппер.
FrenFolio
Твой анвраппер у меня есть и он нормально работает.Файл получается точно такой же как и при использовании антиалалавара от Vovan666.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 08 июня 2009 15:17
· Личное сообщение · #21

Насколько я понял, для того, чтоб отвязать игры от триала, т.е. от враппера, нужно для начала минимум запустить целевой файл, но если количество триальных минут игры было уже сыграно, то запустить игру не получится, поэтому по-любому, нужно патчить, хоть в памяти, хоть на диске. Или у кого-то получалось не патчить?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 10.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 08 июня 2009 22:24 · Поправил: serg005
· Личное сообщение · #22

ARCHANGEL
У Vovan666 в его анвраппере можно не только патчить,но и получить чистый экзешник ,продлить триал и выдернуть ключ(для русских игр)Его анвраппер работает независимо кончилось время триала или нет.Хотя воможно и увеличить триал придётся если время вышло чтобы получить чистый экзешник(но сам я не проверял.Триал то легко продляется и вручную правкой в реестре.




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 09 июня 2009 05:53
· Личное сообщение · #23

ARCHANGEL пишет:
Насколько я понял, для того, чтоб отвязать игры от триала, т.е. от враппера, нужно для начала минимум запустить целевой файл, но если количество триальных минут игры было уже сыграно, то запустить игру не получится, поэтому по-любому, нужно патчить, хоть в памяти, хоть на диске. Или у кого-то получалось не патчить?

Ничего патчить не нужно и от количества триального времени это не зависит! Просто дампишь файл враппера и отттуда считываешь нужную инфу, а запускаться он будет и тогда, когда окончилось халявное время.
serg005 пишет:
Твой анвраппер у меня есть и он нормально работает.

Ну вообще-то он не мой. В смысле, не я его писал.

-----
Программист SkyNet




Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 июля 2009 10:49 · Поправил: Serrrgio
· Личное сообщение · #24

День добрый.
Vovan666 пишет:
Там теперь, адрес оеп не подменяется, а подменяется первый байт в оеп на c3(ret).


С игрой Трехколесники все получилось, спасибо.

А вот с игрой Веселая ферма 3 (90.3 МБайт), что-то не так.

Сдампил (782 кб), посмотрел первый байт eop


пропатчил wrp.exe, запускаю, и с ошибкой меня отправляют на сайт, скачать игру еще раз

может кто посмотрит что там намутили?...



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 28 июля 2009 11:47
· Личное сообщение · #25

Чтож так весь рунет с этой долбаной фермой переполошился, в отладчике проблему найти 5сек.
ищи во "взломанном" файле любым хекс-редактором юникодовскую строку wrapper.dll после чего замени ее на какую-нибудь user32.dll или kernel32.dll и всё.

Простенькая проверка, есть ли в импорте файла который запустил FarmFrenzy3.wrp файл wrapper.dll, т.к. после "взлома" игру запускает explorer.exe, разумеется у него в табличке нету нужного файла.




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 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]

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 28 июля 2009 13:36
· Личное сообщение · #27

ClockMan пишет:
/*52A70B*/ JMP SHORT FarmFren.0052A724================>ставим jmp и играем в своё удовольстви

Кстати, тоже так пропатчил, все ок было.
А вообще щас же серийники другие, прошлые не подходят там для их игр, или без разницы? В смысле длинные, из ресурсов? Или это токльок на веселой фреме 3 так было, или везде так щас, смена защиты?

-----
Программист SkyNet




Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 июля 2009 13:42 · Поправил: Serrrgio
· Личное сообщение · #28

спс, заработало.

это я не для себя, супруга и дочка попросили



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 28 июля 2009 14:28 · Поправил: Vovan666
· Личное сообщение · #29

FrenFolio пишет:
А вообще щас же серийники другие, прошлые не подходят там для их игр, или без разницы? В смысле длинные, из ресурсов? Или это токльок на веселой фреме 3 так было, или везде так щас, смена защиты?


короткие серийники и раньше были, только никто их не покупал при вводе короткого серийника в реестр забивается длинный и всё...
Длинные не подходят пока только вроде на 2ух играх.
зы Короткие я вчера закейгенил там простейший xor.
rapidshare.com/files/261261185/alsmskg20.fixed.rar




Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

Создано: 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" и вбиваю туда ключ.

Запускаю игру и она зарегистрирована.
Способ муторный, зато работает и не только на данной игре.



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 июля 2009 15:19
· Личное сообщение · #31

SER[G]ANT,
ха, твой метод сработал на 3-й ферме

а я этот код вставлял в поле для ключа (и с 1 пробелом и с 2-мя), но программа говорила что код неверен
как так?


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 15 . 16 . >>
 eXeL@B —› Крэки, обсуждения —› Взлом Alawar игр (отучим от триала)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати