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

 eXeL@B —› Крэки, обсуждения —› Взлом Alawar игр (отучим от триала)
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 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. Я не знаю сколько продержится эта защита после опубликования данного минитутора пользуйтесь пока.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 12 января 2011 04:54
· Личное сообщение · #2

отвяжите от загрузчика --> WordGame <--

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 12 января 2011 05:48
· Личное сообщение · #3

Isaev пишет:
отвяжите от загрузчика --> WordGame <--

в wrp впиши 2 байта 004F76F7 --> E8 69




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 12 января 2011 05:51
· Личное сообщение · #4

Vovan666 алго их поиска?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 12 января 2011 05:56
· Личное сообщение · #5

WriteProcessMemory или из ресурса PACKINFO в дампе загрузчика.
А вообще у меня все миниигры ломаются через правую кнопку мыши.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 12 января 2011 06:01 · Поправил: Isaev
· Личное сообщение · #6

В PACKINFO с какого-то момента начали кодировать вроде, все анврапперы, что есть (у меня), не пашут, думал снова что-то поменяли, копаться лень было... WriteProcessMemory гляну, спс за помощь
Vovan666 пишет:
А вообще у меня все миниигры ломаются через правую кнопку мыши.

ну и поделился бы, съэкономил бы кучу времени...
Иногда сын просит игрушку, а так как редко ими занимаюсь, время убивается вникуда!

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 12 января 2011 06:05 · Поправил: Vovan666
· Личное сообщение · #7

Isaev пишет:
PACKINFO с какого-то момента начали кодировать вроде

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

Isaev пишет:
ну и поделился бы, съэкономил бы кучу времени..


http://exelab.ru/f/action=vthread&forum=5&topic=17408&page =0#4
чтоб ломать правой кнопкой мыши, добавь в реестр
[HKEY_CLASSES_ROOT\exefile\shell\Ломануть игрулину\command]
@="С:\multiunwr.exe %1"




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 12 января 2011 06:09
· Личное сообщение · #8

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

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





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

Создано: 12 января 2011 06:35
· Личное сообщение · #9

Isaev
Сейчас тоже самое только без ксора. Сдампил считал вставил назад в wrp. Все играемся (иногда бывает они подлянки делают, по типу полчаса и вылет (имеется в виду не триал враппера а кое- что дургое), но это только в своих играх, а таких оооооочень мало).

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





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 17 февраля 2011 05:20
· Личное сообщение · #10

alawar: Хелик
OEP у wrp меняешь (на 028B55, так и в ресурсах и по WriteProcessMemory) - не запускается
ломалка Vovan666 - не пашет

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





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

Создано: 17 февраля 2011 06:08
· Личное сообщение · #11

загрузи Helic.wrp запищи по этим адресам такие комманды))))

/*10001474*/ PUSH EBP
/*10001475*/ MOV EBP,ESP

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





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 17 февраля 2011 06:44
· Личное сообщение · #12

ClockMan )) вот я туплю... а я думаю почему 2 байта пишется

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 07 марта 2011 20:10
· Личное сообщение · #13

отвяжите, пожалуйста от загрузчика --> L0A <--



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 07 марта 2011 20:37
· Личное сообщение · #14

Как то так http://rghost.ru/4669172

-----
SaNX




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

Создано: 07 марта 2011 20:59
· Личное сообщение · #15

SaNX пишет:
rghost.ru/4669172

Вылетает с ошибкой ;(



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 07 марта 2011 21:07
· Личное сообщение · #16

Какой ошибкой?

-----
SaNX




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

Создано: 07 марта 2011 21:13 · Поправил: Soso
· Личное сообщение · #17

Пытается запустится и ...
вот:



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

Создано: 07 марта 2011 21:16
· Личное сообщение · #18

http://zalil.ru/30631613

| Сообщение посчитали полезным: Soso

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

Создано: 07 марта 2011 21:30
· Личное сообщение · #19

Vovan666 пишет:
http://zalil.ru/30631613


Работает, СПАСИБО !!!
Как я понимаю дело уже 2-мя байтами не обходится???
PS: Когда UnWrapper поправишь?)



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 07 марта 2011 21:39 · Поправил: SaNX
· Личное сообщение · #20

ггг. алаваровцы усложнили защиту
вот, держи http://rghost.ru/4670394

адд:опоздал

-----
SaNX


| Сообщение посчитали полезным: Soso

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

Создано: 07 марта 2011 21:41 · Поправил: tihiy_grom
· Личное сообщение · #21

опять я опоздун
http://rghost.ru/4670463



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

Создано: 07 марта 2011 21:48
· Личное сообщение · #22

tihiy_grom пишет:
http://rghost.ru/4670394

СПАСИБО !!!
Но:
Code:
  1. *START PATCHING*
  2.  
  3. [OFFSET PATCH]
  4. loading file:
  5. LampOfAladdin.wrp.exe
  6. Filesize OK!
  7. CRC32 check failed!
  8. nothing patched!
  9. ...done!
  10.  
  11. *PATCHING DONE*




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

Создано: 07 марта 2011 21:51
· Личное сообщение · #23

SaNX пишет:
ггг. алаваровцы усложнили защиту


СПАСИБО, работает ;)



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

Создано: 07 марта 2011 22:02
· Личное сообщение · #24

Soso пишет:
PS: Когда UnWrapper поправишь?)

для враппера 3.1.3.982 давно уже обновил
http://forum.worldok.ru/showtopic=163057&st=120&start=120
Но вот с более новыми версиями облом, там wrapper.dll накрыт аспром и отловить WriteProcessMemory дюже гиморно (хотя и возможно), так что неизвестно пока когда я им займусь.



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 07 марта 2011 22:25 · Поправил: SReg
· Личное сообщение · #25

0012BDF0 01EA11E0 ASCII "0PK8sLsp5xTqKLbgjB+vJwy4084OGwi8nig5krHAzuW54ClXgaVD4x52zVJ/idOdxVc8HSdwPn4TSP0GZFWTEKo46fr9Srf2VmXOUs8voW5LfqYOXZMnA5388CP/kG5nJNSIbGU9tA0auhdrcF9PVL1iH3/quHL9FXfHCeoDs9B4="

Code:
  1. Windows Registry Editor Version 5.00
  2.  
  3. [HKEY_LOCAL_MACHINE\SOFTWARE\Alawar\6103]
  4. "Key"=hex:30,50,4b,38,73,4c,73,70,35,78,54,71,4b,4c,62,67,6a,42,2b,76,4a,77,79,\
  5.   34,30,38,34,4f,47,77,69,38,6e,69,67,35,6b,72,48,41,7a,75,57,35,34,43,6c,58,\
  6.   67,61,56,44,34,78,35,32,7a,56,4a,2f,69,64,4f,64,78,56,63,38,48,53,64,77,50,\
  7.   6e,34,54,53,50,30,47,5a,46,57,54,45,4b,6f,34,36,66,72,39,53,72,66,32,56,6d,\
  8.   58,4f,55,73,38,76,6f,57,35,4c,66,71,59,4f,58,5a,4d,6e,41,35,33,38,38,43,50,\
  9.   2f,6b,47,35,6e,4a,4e,53,49,62,47,55,39,74,41,30,61,75,68,64,72,63,46,39,50,\
  10.   56,4c,31,69,48,33,2f,71,75,48,4c,39,46,58,66,48,43,65,6f,44,73,39,42,34,3d




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

Создано: 07 марта 2011 22:50
· Личное сообщение · #26

Soso пишет:
СПАСИБО !!!Но:

ну хз. скачанная оригинальная игра от алавар патчится на ура.



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

Создано: 07 марта 2011 22:56
· Личное сообщение · #27

tihiy_grom пишет:
ну хз. скачанная оригинальная игра от алавар патчится на ура.

Они на алаваре сейчас защиту меняют, так что с алавара можно скачать как минимум 3 версии одной игры с разной защитой.



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

Создано: 07 марта 2011 23:43
· Личное сообщение · #28

Vovan666 пишет:
отловить WriteProcessMemory дюже гиморно (хотя и возможно)

Я для этих целей написал DLL-ку, её инжектю в алаваровский лаунчер, после чего она перехватывает API WriteProcessMemory и пишет передаваемые ей данные в копию файла .wrp.exe
На всех играх, и старых, и новых работает, за исключением тех, у которых есть своя защита или другие фишки защиты. К примеру в новом "Суперхите" "Папины дочки едут на море", данные пишутся не только в .text секцию игры, но ещё и в секцию по адресу 0x170000, которая в оле помечена как "\Device\HarddiskVolume1\Windows\System32\locale.nls". Честно, не разобрался , для чего она нужна(секция), потому написал для этой игры лаунчер и отправил "заказчику"




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

Создано: 08 марта 2011 02:32
· Личное сообщение · #29

Vovan666 пишет:
Они на алаваре сейчас защиту меняют

Давно пора а то как лохи игры считай бесплатно раздают

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




Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 10 марта 2011 19:53
· Личное сообщение · #30

Кто нить смог отвязать от загрузчика игру "Папины дочки едут на море"
Максимум, что мне удалось добиться, появления на секунду окошка игры, и все



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

Создано: 10 марта 2011 22:13
· Личное сообщение · #31

SReg, в аттаче утиль, создающая правильные лаунчеры игр от Alawar

6ad1_10.03.2011_CRACKLAB.rU.tgz - LauncherCreator_v_1_0_release.rar


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


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