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




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

Создано: 01 апреля 2008 08:27
· Личное сообщение · #2

скачал щас Камень судьбы - опять понаменяли, надо пофиксить

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




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

Создано: 01 апреля 2008 11:13
· Личное сообщение · #3

За последнюю неделю вышло целых 2 распаковщика для новых игр
Кто ищет, тот всегда найдет!




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

Создано: 01 апреля 2008 17:06
· Личное сообщение · #4

PE_Kill а сорцами не поделишься?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 02 апреля 2008 08:02 · Поправил: postgate
· Личное сообщение · #5

Здрасте уважаемые, на одном из сайтов нашел как проше всего взломать Alawarовские игры, инструкцию прилагаю
ifolder.ru/5982154




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

Создано: 02 апреля 2008 09:07
· Личное сообщение · #6

postgate
Ну и нахера там твоя инструкция?

-----
iNTERNATiONAL CoDE CReW




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

Создано: 02 апреля 2008 19:15
· Личное сообщение · #7

PE_Kill
Если будешь доделывать свой анвраппер, то стоит принять во внимание, что орг. экзешник может быть как с расширением имя.wrp, так и имя.wrp.exe.

-----
Я ещё не волшебник, я только учусь...





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

Создано: 03 апреля 2008 12:10
· Личное сообщение · #8

Учтем учтем. Сорцы могу и зарелизить, тока че там смотреть? Почти тоже что и в отладчике и довольно криво (ломает на такую х*ю время тратить)

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




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

Создано: 03 апреля 2008 12:53
· Личное сообщение · #9

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



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

Создано: 04 апреля 2008 01:53 · Поправил: postgate
· Личное сообщение · #10

Spirit пишет:
postgate
Ну и нахера там твоя инструкция?


За тем чтобы лишний раз не заморачиваться, таким методом спокойно добываеться смс-ключь к игре. И тем самым перевод из триала в норму
У меня вытаскивание смс ключа занимает 2 минуты



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

Создано: 04 апреля 2008 02:06
· Личное сообщение · #11

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

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

-----
Я ещё не волшебник, я только учусь...





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

Создано: 04 апреля 2008 06:49
· Личное сообщение · #12

postgate пишет:
У меня вытаскивание смс ключа занимает 2 минуты

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

-----
iNTERNATiONAL CoDE CReW





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

Создано: 05 апреля 2008 10:53
· Личное сообщение · #13

Нашел у китайцев мульти анвраппер. Мож пригодится.
Поддерживает Alawar, GameHouse, Reflexive, WildGames

6e07_05.04.2008_CRACKLAB.rU.tgz - Game UnWrapper v1.3 beta2.rar

-----
iNTERNATiONAL CoDE CReW




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

Создано: 18 мая 2008 18:39
· Личное сообщение · #14

Вот ещё один Анвраппер

40ec_18.05.2008_CRACKLAB.rU.tgz - ALAWAR_KILLER.exe




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

Создано: 01 марта 2009 16:43 · Поправил: Isaev
· Личное сообщение · #15

Что-то они в последних версиях поменяли
похоже в ресурсах по смещению больше нету новой OEP
надо поковырять на досуге

ClockMan пишет:
Стыдно должно быть

около 7 unwrapperow и все идут лесом... Это не стыдно, а интересно
приятно, когда люди хоть что-то пытаются исправить

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





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

Создано: 01 марта 2009 17:01
· Личное сообщение · #16

IsaevСтыдно должно быть

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





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 01 марта 2009 17:21
· Личное сообщение · #17

Isaev

ссылочку не кинешь на такую гаму?

-----
[nice coder and reverser]





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

Создано: 01 марта 2009 17:24 · Поправил: Isaev
· Личное сообщение · #18

www.alawar.ru/game/musaic-box/
вот эта похоже тоже www.alawar.ru/game/nepobedimyi/
и если в смс-кей вставляешь в любое место пробел, тоже не пашет, как раньше...
геймеры в панике!

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 01 марта 2009 18:31
· Личное сообщение · #19

Лично у меня получилось зарегить игру (и все игры этой компании) изменив один байт в одной из dll игры...
Рассказать, как? Или это уже не новость? Извините, нет времени перечитывать весь топик!
Удачно зарегились, например: Luxor, Авианалет 3, Маджонг Артефакт, АкваБол ну и т.д. Похоже, что все современные игрушки содержат эту dll. Сделав обычный "searsh patch", можно регить все игры, даже если в папке с игрой лежит разные версии этой dll.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 01 марта 2009 18:41 · Поправил: Hellspawn
· Личное сообщение · #20

Isaev

да с виду всё тоже самое CreateProcess + VitrualPotect + WriteProcessMemory
Code:
  1. Музаик (musaic_Release.wrp.exe)
  2. 0050C1F8: 68D16E4E00           push 004E6ED1h
  3. 0050C1FD: C3                   ret 
  4. или (wrapper.dll)
  5. 1001D55C     A1 24A20410        MOV EAX,DWORD PTR DS:[1004A224]
  6. 1001D561     8038 00            CMP BYTE PTR DS:[EAX],0
  7. 1001D564     0F95C0             SETNE AL                                         
  8. 1001D567     A2 A0C00610        MOV BYTE PTR DS:[1006C0A0],AL // нужное место
  9. 1001D56C     E8 C01C0000        CALL wrapper.1001F231
  10. 1001D571     C3                 RETN


-----
[nice coder and reverser]




Ранг: 26.2 (посетитель), 6thx
Активность: 0.020
Статус: Участник

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

Проблема решается двумя пробелами, в место одного.




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

Создано: 01 марта 2009 20:48
· Личное сообщение · #22

Hellspawn пишет:
да с виду всё тоже самое

в коде да...
Раньше просто в ресурсах дампа в RT_RCDATA->PACKINFO
по смещению 29h лежало краденное OEP, а сейчас нет, поэтому и не работают unwrapperы старые.

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





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

Создано: 01 марта 2009 21:14
· Личное сообщение · #23

Да там собственно все по старому только константу добавили (лежит в wrapper.dll) и ксорят ею байтики из ресурса и по старому алго обратно записывают, вот и все дела.

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





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

Создано: 01 марта 2009 21:17
· Личное сообщение · #24

Isaev пишет:
по смещению 29h лежало краденное OEP, а сейчас нет, поэтому и не работают unwrapperы старые.

Я не знаю че там алавровцы опять наменяли, но у нас в группе чел сделал новые тулзы для этой защиты, сказал что изменения минимальны. Может понадобится кому, так что даю ссыль (там извлекалка ключа, как он ее назвал + анвраппер) rapidshare.com/files/204089075/Alawar_new.rar

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




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

Создано: 02 марта 2009 16:25 · Поправил: MookyJazza
· Личное сообщение · #25

Я не пойму, зачем что-то там дампить, искать OEP, править в рестораторе, отсчитывать байты, анврапить, и т.д всякая ..... , когда можно просто изменить ОДИН байт в wrapper.dll, ввести для регистрации абсолютно любой ключ, хоть один символ, и игра будет зарегена!? Нафига всё это нужно? Убить несколько лишних килобайт на харде за ненадобностью? Или ради тренинга? Кто просвятит?

link_deleted_by_forum_engine/files/5ky524ba1 - ALWPTCH




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

Создано: 02 марта 2009 18:11
· Личное сообщение · #26

MookyJazza без прота запускается быстрее (а из-за Outposta например, некоторые вообще не запускаются из-за него) т.ч. иногда приходится ломать только для того, чтобы посмотреть что за игра

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 02 марта 2009 19:04 · Поправил: MookyJazza
· Личное сообщение · #27

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




Ранг: 233.1 (наставник), 30thx
Активность: 0.210
Статус: Участник

Создано: 02 марта 2009 20:28
· Личное сообщение · #28

Да просто приятнее иметь чистый софт без всяких враперов, которые ещё и срут в реестр своими триал метками.

-----
AutoIt





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

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

OLEGator пишет:
Да просто приятнее иметь чистый софт без всяких враперов, которые ещё и срут в реестр своими триал метками.

Согласен! Мне тоже чисто психологически приятнее играть буз всяких врапперов и прочего мусоар в папке с игрой. К тому же действительно конкретно для Алавара лучше анврап, чем ключ, впрочем как и для невософта. Уж очень раздражают наги с благодарностями. Хотя это мое имхо опять же.

MookyJazza пишет:
Я не пойму, зачем что-то там дампить, искать OEP, править в рестораторе, отсчитывать байты, анврапить, и т.д всякая ..... , когда можно просто изменить ОДИН байт в wrapper.dll, ввести для регистрации абсолютно любой ключ, хоть один символ, и игра будет зарегена!? Нафига всё это нужно? Убить несколько лишних килобайт на харде за ненадобностью? Или ради тренинга? Кто просвятит?

Мы легких путей не ищем.

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





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 02 марта 2009 22:23
· Личное сообщение · #30

Да хорош уже поднимать модификации бесконечного холивара на тему патч 1 байта VS кейген.



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

Создано: 02 марта 2009 22:38
· Личное сообщение · #31

Ладно, вопрос снят. Для себя я все понял. У каждого своё мнение, которое я уважаю, поэтому, тихо удаляюсь. Желаю всем удачного аврапа!


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