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

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 22 ноября 2006 07:26
· Личное сообщение · #2

PE_Kill,BoOMBoX/TSRh - уважая Ваш труд и читая гавнапосты убогих ламосов (90% из которых я самолично удалил из этого топика) - возникает вопрос - а зачем? Зачем давать туповатым оленям инструмент, назначение которого они всё равно не оценят?



Ранг: 74.0 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 22 ноября 2006 14:32
· Личное сообщение · #3

Ну я благодарен PE KILL за его тулзы (эх когда ж он напишет тулзы к протам , про которые я постил ранее ...:s2 Хотя и снимаю сам практически все руками. Но тулза просто автоматизирует процесс - экономит время.

Еще про оленев - девушки со многих форумов обучились извлекать Ехешники и благодарят автора !!!
Так что , вот она слава. Ну я конечно, немного помог, заставив обращать внимание на того, кто пишет тулзы, а не перекладывает их...

Микрооффтоп закончил ! Теперь по делу конкретно.

Появилась новая защита в виде 2 х ЕхЕ - один под УПХ, другой под АСПР 1.23 Все прекрасно распаковывается, но не ломается... Хз в чем дело.

Вот Вам и адресок -
mirror3.alawar.com/Thomas2Rus.exe

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




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 22 ноября 2006 20:28
· Личное сообщение · #4

Ara ну ХЗ, мне этот инструмент не нужен, куда его деть то? Конкретно эту тулзу я даже тулзой не считаю и если надо могу выложить сырки.

Soft_Ice это новая защита alawar или просто 1 игра защищенная подругому? Ща гляну ее....

-----
Yann Tiersen best and do not fuck





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 22 ноября 2006 21:20 · Поправил: PE_Kill
· Личное сообщение · #5

Soft_Ice ага я понял, щас патч сделаю...

PS Не заметил, так нужен патч или нет? Или уже есть?

-----
Yann Tiersen best and do not fuck




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

Создано: 23 ноября 2006 04:51
· Личное сообщение · #6

Уже есть!!!
Это старая защита.
Таких игр я штук 5 встречал, там просто второй файл запускается с командной строки которую посылает первый файл, и какой параметр передан от этого и идет зарегистрирована игра или нет.



Ранг: 28.9 (посетитель)
Активность: 0.060
Статус: Участник

Создано: 23 ноября 2006 06:39
· Личное сообщение · #7

PE_Kill пишет:
Ara ну ХЗ, мне этот инструмент не нужен, куда его деть то? Конкретно эту тулзу я даже тулзой не считаю и если надо могу выложить сырки.

Выложи хоть поглядим.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 23 ноября 2006 19:11
· Личное сообщение · #8

ХЗ, у меня жесткий полетел И бэкапов походу нет.

-----
Yann Tiersen best and do not fuck




Ранг: 74.0 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 24 ноября 2006 10:04
· Личное сообщение · #9

Vovan666 пишет:
Уже есть!!!
Это старая защита.
Таких игр я штук 5 встречал, там просто второй файл запускается с командной строки которую посылает первый файл, и какой параметр передан от этого и идет зарегистрирована игра или нет.


По параметрам - можешь подробнее написать, с примером ? Чего то не смог догнать, когда ЕхЕшки ковырял.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 24 ноября 2006 21:48
· Личное сообщение · #10

Soft_Ice Если запустить game.exe с параметром "3300", то игра запустится как фулл, но если на этом остановится, то мы не сможем пользоваться лаунчером (Paclands2.exe), который позволяет выставить разрешение. Чтобы лаунчер был фулл, нужно пропатчить в нем один байт и тогда не надо мутить с параметрами, он будет запускать game.exe с параметром "3300":

00472F80 PUSH EBP
00472F81 MOV EBP,ESP
00472F83 PUSH EBX
00472F84 PUSH ESI
00472F85 PUSH EDI
00472F86 XOR EAX,EAX
00472F88 PUSH EBP
00472F89 PUSH PACLAN~1.00472FB9
00472F8E PUSH DWORD PTR FS:[EAX]
00472F91 MOV DWORD PTR FS:[EAX],ESP
00472F94 MOV EAX,PACLAN~1.00476E04
00472F99 MOV EDX,PACLAN~1.00472FD0 ; ASCII "Unregistered version"
00472F9E CALL PACLAN~1.00403F5C
00472FA3 MOV BYTE PTR DS:[476E08],1 ;<-- Поменять на "0"!!!
00472FAA CALL PACLAN~1.00472F6C
00472FAF XOR EAX,EAX
00472FB1 POP EDX
00472FB2 POP ECX
00472FB3 POP ECX
00472FB4 MOV DWORD PTR FS:[EAX],EDX
00472FB7 JMP SHORT PACLAN~1.00472FC3
00472FB9 JMP PACLAN~1.00403638
00472FBE CALL PACLAN~1.004039A0
00472FC3 POP EDI
00472FC4 POP ESI
00472FC5 POP EBX
00472FC6 POP EBP
00472FC7 RETN


-----
Yann Tiersen best and do not fuck




Ранг: 74.0 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 25 ноября 2006 09:31
· Личное сообщение · #11

Огромное спасибо, важна метода, остальное посмотрим в Оле...



Ранг: -4.7 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 25 ноября 2006 10:09
· Личное сообщение · #12

Soft_Ice пишет:
Появилась новая защита в виде 2 х ЕхЕ - один под УПХ, другой под АСПР 1.23 Все прекрасно распаковывается, но не ломается... Хз в чем дело.

сломал её ещё в ноябре 2005:
Даже CRACKME бывают сложнее...Итак,как обычно находим какую-нибудь "дырку":

* Possible StringData Ref from Code Obj ->"Unregistered version"
Далее:
:0044FB65 BA9CFB4400 mov edx, 0044FB9C
:0044FB6A E83143FBFF call 00403EA0
:0044FB6F C605DC3B450001 mov byte ptr [00453BDC], 01
:0044FB76 E8BDFFFFFF call 0044FB38
:0044FB7B 33C0 xor eax, eax
Cуём в byte ptr [00453BDC] ноль и всё работает!!!




Ранг: -4.7 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 25 ноября 2006 10:13
· Личное сообщение · #13

Vovan666 пишет:
там просто второй файл запускается с командной строки которую посылает первый файл

такую же защиту имеет игра "Paclands- Thomas Adventures"
если кому надо:
:0046AA8F C60560EC460001 mov byte ptr [0046EC60], 01
меняем 01 на 00 и всё работает...



Ранг: 74.0 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 26 ноября 2006 14:08
· Личное сообщение · #14

Просветите - чем распаковывать АСПр версий 1.0-1.2 ? Стрип не берет, под Олей не рабочий импорт видимо. Чего-то споткнулся на этом.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 ноября 2006 19:15
· Личное сообщение · #15

CASPR

-----
Yann Tiersen best and do not fuck





Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 26 ноября 2006 20:23
· Личное сообщение · #16

SharewareBreaker
да кого ты там сломал, не позорся, только что подсмотрел у PE_Kill




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 ноября 2006 01:17 · Поправил: PE_Kill
· Личное сообщение · #17

Даже если и сам ломал, зачем повторять, то что я уже написал. Soft_Ice просил объяснить подробно методу, вот и объясни раз ломал. Как нашел место, где патчить, только лечилово про референс на строку не надо устраивать....

-----
Yann Tiersen best and do not fuck




Ранг: -4.7 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 27 ноября 2006 07:17
· Личное сообщение · #18

Nitrogen пишет:
да кого ты там сломал, не позорся, только что подсмотрел у PE_Kill

LOL
там адреса даже разные,кроме того релиз от FFF или Explosion опередил ПЕ Килла на полтора
или даже 2 года



Ранг: -4.7 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 27 ноября 2006 07:22
· Личное сообщение · #19

PE_Kill пишет:
Даже если и сам ломал, зачем повторять, то что я уже написал. Soft_Ice просил объяснить подробно методу, вот и объясни раз ломал

попробуй лучше ломануть "Машину Сокровищ" или другую игру,где используется шифрование
кода... а это смешно,я бы сказал для новичков защита




Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 27 ноября 2006 08:11
· Личное сообщение · #20

SharewareBreaker
подсмотреть идею у PE_Kill, найти другую игру с подобной защитой и выдать за свое? да как два пальца..
пустой треп. я тебе не верю




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 28 ноября 2006 00:54
· Личное сообщение · #21

SharewareBreaker
1)
SharewareBreaker пишет:
а это смешно,я бы сказал для новичков защита

И тем не менее методу ты не объяснил

2)
SharewareBreaker пишет:
попробуй лучше ломануть "Машину Сокровищ" или другую игру,где используется шифрование

Вот это точно LOL. Если бы ты ломал Thomas2Rus.exe то знал бы, что в ней есть покриптованый код, именно поэтому я поменял 1 на 0, т.к. код, который это делает пошифрован и расшифровывается по ключу. Кстати странно называть такую замену:
SharewareBreaker пишет:
находим какую-нибудь "дырку"

Ну только если цифра "0" на дырку похожа
3)
Весь остальной флуд будет удаляться...

-----
Yann Tiersen best and do not fuck




Ранг: -4.7 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 28 ноября 2006 07:49
· Личное сообщение · #22

Nitrogen пишет:
подсмотреть идею у PE_Kill, найти другую игру с подобной защитой и выдать за свое? да как два пальца..
пустой треп. я тебе не верю

а я не верю что ты свои кейгены сам сделал- скорее стырил исходники у какой-нибудь Phrozen Crew
и "выдал за своё"
PE_Kill пишет:
И тем не менее методу ты не объяснил

что здесь не ясно: ищем референс Unregistered и исправляем 01 на 00
Если и такое для вас сложно,стыдно назвать вас даже начинающими "крекерами"
PE_Kill пишет:
что в ней есть покриптованый код, именно поэтому я поменял 1 на 0, т.к. код, который это делает пошифрован и расшифровывается по ключу

да какое здесь криптование к чёртовой матери? защита для полного ламера ИМХО
попробуйте сломать что-нибудь посложнее,тогда и поговорим
например BVS Solitaire Collection (что не по зубам пасьянсы??? :s6




Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 28 ноября 2006 08:39
· Личное сообщение · #23

SharewareBreaker
а я не верю что ты свои кейгены сам сделал- скорее стырил исходники у какой-нибудь Phrozen Crew
и "выдал за своё"

так и правильно делаешь, я все свои кейгены срипал



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

Создано: 28 ноября 2006 10:03
· Личное сообщение · #24

SharewareBreaker

посмотри, за что PE_Killу спасибо.

0753_28.11.2006_CRACKLAB.rU.tgz - экран.JPG




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 28 ноября 2006 10:08
· Личное сообщение · #25

Народ решил снова пытаться что-то доказать пидаратору алексу?



Ранг: -4.7 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 28 ноября 2006 11:09
· Личное сообщение · #26

Ara пишет:
Народ решил снова пытаться что-то доказать пидаратору алексу?

???



Ранг: -4.7 (нарушитель)
Активность: 0.010
Статус: Участник

Создано: 28 ноября 2006 11:34
· Личное сообщение · #27

cadet пишет:
посмотри, за что PE_Killу спасибо.

я тоже я крякнул давно,смотри аттач:


466a_28.11.2006_CRACKLAB.rU.tgz - SB picture.JPG




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 28 ноября 2006 21:06 · Поправил: PE_Kill
· Личное сообщение · #28

SharewareBreaker пишет:
что здесь не ясно: ищем референс Unregistered и исправляем 01 на 00

PE_Kill пишет:
только лечилово про референс на строку не надо устраивать....


SharewareBreaker пишет:
попробуйте сломать что-нибудь посложнее,тогда и поговорим
например BVS Solitaire Collection (что не по зубам пасьянсы???


LOL, Если что, то я все версии отломал, начиная с 6.0.
forum.ru-board.com/topic.cgi?forum=75&bm=1&topic=0592&start=220#lt


Всё, инна отсюда. Ara это опять пидар алекс что ли?

Кстати скрин эбаута BVS Solitaire Collection у SharewareBreaker поддельный, т.к. имя выравнивается по правой стороне окна, вот так:

-----
Yann Tiersen best and do not fuck





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 28 ноября 2006 21:46
· Личное сообщение · #29

аттач

c2f8_28.11.2006_CRACKLAB.rU.tgz - BVS.JPG

-----
Yann Tiersen best and do not fuck





Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 28 ноября 2006 23:14
· Личное сообщение · #30

PE_Kill
красиво ты его сделал ;)

p.s честно пытался закрыть картинку нажимая на OK
p.p.s на форуме разрешается материться?




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 29 ноября 2006 05:00
· Личное сообщение · #31

PE_Kill пишет:
Ara это опять пидар алекс что ли?

Ты ж модер. Кликни по IP, увидишь следубщую картину:
Predator Alex*
Chernobyle*
FreeStyler*
ElybonrehC*
Makaka*
NaxiM*
Sergey Lossev*
SharewareBreaker*

Это те, кто с этого IP ходил. Знакомые всё лица


<< . 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 » Выход » ЛС
   Для печати Для печати