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

 eXeL@B —› Крэки, обсуждения —› Игры от ***. Два модуля - основной и тот который его запускает
Посл.ответ Сообщение

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

Создано: 17 апреля 2010 11:57
· Личное сообщение · #1

День добрый.
Вопрос имеет скорее спортивный интерес, так как в сети полно "готовых решений"
Итак ситуация. Все игры имеют примерно одинаковую защиту.
Есть два модуля:
1) game.wrp.exe собственно программа, но она не запускается. Почему, я написал ниже.
2) вспомогательный модуль (game.exe) который загружает основную программу, патчит её, очевидно, уже в памяти и запускает. Но он имеет ограничение по времени работы. По всей вероятности вся защита сосредоточена в нём.
Поразмыслив, что мне достаточно запустить основной модуль (gane.wrp.exe) вспомогательный модуль будет уже не нужен. Кроме того, очевидно, вспомогательный модуль или упакован, или защищён ASPprotect. Я решил возиться только с game.wrp.exe
Покопавшись с дизассемблером, я обнаружил такой код в точке входа основного модуля (game.wrp.exe)
Код:
Code:
  1. 0074E9BD        C3            RET   ;Pop IP
  2. 0074E9BE        90            NOP      
  3. 0074E9BF        68 D0BA8400   PUSH 0084BAD0H        
  4. 0074E9C4        E8 972B0000   CALL 00751560

Ежу понятно, RET не может быть в начале кода. А NOP, очевидно, для выравнивания чего-то. Тогда я не стал вникать в суть и забил весь приведённый код NOP. Программа запускалась, но через 10 минут выводила сообщение (MeassageBox) что файл повреждён, переустановите. Я тогда вооружился артмани, запустил как положено (через модуль (2) загрузочный, предварительно восстановив все файлы из резервной копии) посмотрел память процесса основного модуля game.wrp.exe Оказывается, там вначале должно быть
Код:
Code:
  1. PUSH 60

и это практически во всех играх. Переписал. Но и это не помогло. Также через 10 минут программа ругалась, что повреждена.
Тогда я сделал вот что. Запустил все, как положено. И через диспетчер прибил процесс (2). Основная программа продолжила работать. (Просто подумал, что патчится ещё какая-то часть кода) Но через 10 минут то же самое.
Не могу понять, они как-то "общаются" между собой? И если модуль не найден, то вызывается ошибка?
Какие способы "общения" между родительским и дочерним процессом. Функций создания семафоров вроде нет. Есть функции установки/сброса событий.
Может обмениваются сообщениями окон? Через временные файлы или реестр - вроде жёстко и некрасиво.
Куда можно покопать?
----
Статья об этих играх есть на форуме, однако сейчас, очевидно там защита уже не такая.
Ещё раз повторюсь. Мне интереснее будет поработать только с game.wrp.exe.
Благодарен за любые советы.



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

Создано: 17 апреля 2010 12:33 · Поправил: Vovan666
· Личное сообщение · #2

Это игры от алавар! А то туману напустил
там в разных играх разные "отложенные проверки".
но почти везде такие:
1. Проверка если в импорте процесса который запустил game.wrp.exe wrapper.dll (и еще какая -то dll не помню)
2. Есть ли доступ к какому-то логу (который ведет game.exe) в недрах Documents and Settings
3. Есть ли в ресурсах процесса который запустил game.wrp.exe определенный ресурс
Всё это обходится как правило одним джампом.



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

Создано: 17 апреля 2010 12:53
· Личное сообщение · #3

А как на них можно выйти? (на проверки в смысле)
Это самое интересное.
С чего начать?



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

Создано: 17 апреля 2010 12:58
· Личное сообщение · #4

Ищешь место где используется строка wrapper.dll и вперед, все остальные проверки рядом.



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

Создано: 17 апреля 2010 13:35
· Личное сообщение · #5

Самое прикольное, что этой строки я не нахожу.




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 17 апреля 2010 13:43
· Личное сообщение · #6

CreateFileA and CreateFileW бряки и находишь CRC, проверку лога...




Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 17 апреля 2010 14:18
· Личное сообщение · #7

крякнуть алавар games Это Очень легко
Если это разрешено напишу tutrial



Ранг: 18.8 (новичок), 21thx
Активность: 0.030
Статус: Участник

Создано: 17 апреля 2010 15:31
· Личное сообщение · #8

Краденые байты в 2х последних версиях защиты указаны по смещению 2Ch относительно ресурса PACKINFO в загрузчике, там-же по смещению 28h находится RVA, по которому их писать (но оно не важно, тк это всегда EP). Также в этом ресурсе достаточно многой другой инфы, используемой wrapper.dll. В ходе проверки в защищённом файле непосредственно wrapper.dll вроде не используется, обращения идут к загрузчику. Загрузчик действительно защищен ASProtect, но его распаковка не требуется, тк он что-то наподобие обёртки для wrapper.dll. Оттуда можно дёрнуть нужные ресурсы (PACKINFO и SMSKEY) запустив его, дождавшись окна с классом "WrapperWND". Дампер этих ресурсов в аттаче.

3ac4_17.04.2010_CRACKLAB.rU.tgz - AlawarDump.rar



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

Создано: 22 апреля 2010 17:34
· Личное сообщение · #9

Удалось справиться наполовину.
Но Программа все-равно иногда вылетает (хоть уже и гораздо реже)
Точка останова на МессагеБокс ничего не даёт, так как прога вываливается на RaiseExeption; но после нажатия F9 продолжает работать как ни в чём не бывало. Сама Месага не вызывается.
CreateFileA вываливается много раз, но в основном при создании разных ресурсов (карт, масок и тому подобное)
Очевидно, проверка идёт где-то после Close Handle, кажеться где-то здесь
Code:
  1. 00614EAD   > 53             PUSH EBX                                 ; /hObject
  2. 00614EAE   . FF15 CC207F00  CALL DWORD PTR DS:[<&KERNEL32.CloseHandl>; \CloseHandle
  3. 00614EB4   . 8B9D 3CE9FFFF  MOV EBX,DWORD PTR SS:[EBP-16C4]
  4. 00614EBA   > 53             PUSH EBX                                 ; /hObject
  5. 00614EBB   . FF15 CC207F00  CALL DWORD PTR DS:[<&KERNEL32.CloseHandl>; \CloseHandle
  6. 00614EC1   . 39B5 40E9FFFF  CMP DWORD PTR SS:[EBP-16C0],ESI
  7. 00614EC7   . 75 1B          JNZ SHORT FarmFren.00614EE4
  8. 00614EC9   > 68 CC5B8500    PUSH FarmFren.00855BCC                   ; /Arg2 = 00855BCC
  9. 00614ECE   . 8D95 34E9FFFF  LEA EDX,DWORD PTR SS:[EBP-16CC]          ; |
  10. 00614ED4   . 52             PUSH EDX                                 ; |Arg1
  11. 00614ED5   . C785 34E9FFFF >MOV DWORD PTR SS:[EBP-16CC],FarmFren.007>; |
  12. 00614EDF   . E8 AC801300    CALL FarmFren.0074CF90                   ; \FarmFren.0074CF90
  13.  





Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 22 апреля 2010 18:27
· Личное сообщение · #10

Лучше искать защиты в этом файле
wrapper.dll



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

Создано: 22 апреля 2010 18:51
· Личное сообщение · #11

Так основной модуль не использует эту dll.




Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 22 апреля 2010 18:54 · Поправил: AKAB
· Личное сообщение · #12

Как не использует
Дай мне ссылку игры



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

Создано: 22 апреля 2010 19:10
· Личное сообщение · #13

www.alawar.ru/game/farm-frenzy-3-russian-roulette/




Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 23 апреля 2010 09:06 · Поправил: AKAB
· Личное сообщение · #14

Скачать урок можно здесь
Надеюсь, я не пошел против правил
http://www.4shared.com/file/CUIqEiHd/all_alawar-AoRe.html

PASS= aore2010



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

Создано: 23 апреля 2010 09:20
· Личное сообщение · #15

За кряк, конечно, огромное спасибо, НО
Вопрос имеет скорее спортивный интерес, так как в сети полно "готовых решений"
Я сам хочу дойти до решения. Просто прошу меня немного подтолкнуть в нужном направлении.



Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 23 апреля 2010 09:28
· Личное сообщение · #16

ekkl
Без копания загрузчика, накрытого ASProtec'ом ты не анврапнешь файл.
Защита работает по такому принципу:
Загрузчик Загружает в свою память wrp.exe файл, и коректирует его следующим способом:
1) XOR части данных в секции кода на константу указанную в загрузчике
2) изменение EP(Вот тут точно не помню, толи он правильный прыг делает, толи вовсе меняет адрес ЕР)
3) запуск файла)

Чтобы увидеть все эти действия, достаточно поставить в ольке какой-либо плаг для скрытия от анти-отладки ASProtect'a и запустить загрузчик. Если никаких ошибок и программа запустилась под отладчиком, то просто ставь брэйкпоинты на VirtualProtectA, WriteProcessMemory, ReadProcessMemory, дальше сам все увидишь




Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 23 апреля 2010 09:28
· Личное сообщение · #17

Это не кряк
Это способ вЗломать все игры



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

Создано: 23 апреля 2010 10:11
· Личное сообщение · #18

Спасибо, посмотрю.
Есть ещё один вопрос, немного иного плана. Если модераторы посчитают нужным, могут разделить тему. Просто не хотелось создавать другой топик, поскольку тема все та же - алавар.
--
Покопавшись с зип-архивами в папке Data мне удалось изменить
цену на продукты, период, через который гуси несут яйца, время переработки продуктов, скорость анимации, количество перерабатываемых одновременно продуктов. Но я не могу понять, например, то что из яиц делают порошок, а из порошка хлеб тоже прописано в параметрах или в само ексешнике (хотя я в этом сомневаюсь)
Можно, например, сделать так, чтобы из яиц делали, скажем масло
А торты, например, из яиц + масло. (не покупать муку).
-----
Что было быстрее сообщу: В папке дата 2 файла. Это ЗИПы. Их нужно разархивировать. Потом удалить. Там файлы с 3 расширениями
DDS JNG XML Первые 2 это все JNG, XML, естественно параметры именно их я и правил. После изменения XML совершенно не надо опять упаковывать все в архив. Все работает и так.



Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 23 апреля 2010 10:14
· Личное сообщение · #19

ну это уже не серьезно, проще использовать ArtMoney, чем менять конфиги игры.



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

Создано: 23 апреля 2010 10:21 · Поправил: ekkl
· Личное сообщение · #20

Вопрос имеет скорее спортивный интерес



Ранг: 18.8 (новичок), 21thx
Активность: 0.030
Статус: Участник

Создано: 25 апреля 2010 09:11 · Поправил: Error13Tracer
· Личное сообщение · #21

ekkl пишет:
Вопрос имеет скорее спортивный интерес

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

Прикройте топик, тупость полная... итак всё доступно расписано

Да не обидятся форумчане, зачем откровенно этим алаваром гадить на форуме... ломается на раз-два, только флуд разводить...


 eXeL@B —› Крэки, обсуждения —› Игры от ***. Два модуля - основной и тот который его запускает
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати