Сейчас на форуме: vsv1, NIKOLA, r0lka, johnniewalker (+4 невидимых) |
eXeL@B —› Крэки, обсуждения —› Взлом Alawar игр (отучим от триала) |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . >> |
Посл.ответ | Сообщение |
|
Создано: 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. Я не знаю сколько продержится эта защита после опубликования данного минитутора пользуйтесь пока. |
|
Создано: 16 февраля 2013 23:30 · Личное сообщение · #2 r99 Да хрен его знает. На любителя. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 17 февраля 2013 00:05 · Личное сообщение · #3 r99 Например, |
|
Создано: 17 февраля 2013 00:11 · Личное сообщение · #4 |
|
Создано: 17 февраля 2013 00:31 · Личное сообщение · #5 ARCHANGEL На версию враппера не обращай внимания, она меняется постоянно, правда непонятно зачем. Что касаемо "Как достать соседа", забей, это единственная игра на портале с файлом в папке bin(просто разработчики, а не алаваровцы решили что он должен быть там). | Сообщение посчитали полезным: artyavmu |
|
Создано: 17 февраля 2013 00:35 · Поправил: ARCHANGEL · Личное сообщение · #6 Vovan666 Наваять фикс для общего случая для меня не должно составить труда. Тем более у меня как раз на учёбе домашка была похожая на эту задачу. Вот займусь щас, а то перед преподавателем неудобно. Ну вот, это пофиксил, скачиваю другие игры в поисках сюрпризов... ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 17 февраля 2013 02:10 · Личное сообщение · #7 |
|
Создано: 17 февраля 2013 02:51 · Личное сообщение · #8 Не, с дочками никаких проблем не возникло. Кстати, эта версия враппера, походу, какая-то глючная - после закрытия окна враппера всё время выскакивает окно, сообщающее о чём-то типа access violation. Вот рукожопые алаваровцы. В общем, подумал и решился зарелизить. Может, кому и сгодится. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 16 января 2014 16:04 · Личное сообщение · #9 |
|
Создано: 16 января 2014 16:52 · Поправил: DimitarSerg · Личное сообщение · #10 Isaev На руборде в шапке есть. от PE_Kill zalil.ru/33633515 от FFF (на их дистро fff.defcon5.biz) Vovan666 пишет: Не самая новая, в той версии косяк с сигнатурой isRegistered Спасибо, буду знать и иметь на вооружении. ----- ds |
|
Создано: 16 января 2014 16:56 · Поправил: Vovan666 · Личное сообщение · #11 DimitarSerg пишет: и самая новая от Vovan666 v1.81 от 24.11.13 Не самая новая, в той версии косяк с сигнатурой isRegistered http://rghost.ru/51695271 А вообще, для алавара, только ленивый не сделал ломалку под своим именем, штук 10 пачеров,анврапперов, и прочих триал ресетов точно есть. | Сообщение посчитали полезным: Isaev |
|
Создано: 17 января 2014 11:27 · Личное сообщение · #12 |
|
Создано: 20 декабря 2017 14:38 · Личное сообщение · #13 |
|
Создано: 20 декабря 2017 22:18 · Личное сообщение · #14 artyavmu пишет: К сожалению,прекрасная утилитка ушла в прошлое,так как даже в английских версиях игр убрали ключ в открытом виде. Какая потеря для всего человечества. На раз взламываются алаваровские игры. Никогда там никакой ключ не нужен был. Его правильность ввода или выбор триала лишь инициировали вызов WriteProcessMemory каждый раз при попытке начать игру. ----- TEST YOUR MIGHT | Сообщение посчитали полезным: ClockMan |
|
Создано: 20 февраля 2018 19:32 · Личное сообщение · #15 Запустил игру Звездная история. Побег с Горизонта,попытался сделать dump с помощью petools 2006, вроде бы сделал, но попытавшись открыть его в odbg110 получил Process ’StarStory' is active. If you terminate it now, process wi be unable to clean up and write unsaved data to disk. Do you realty want to terminate active process? Note: you can permanently disable this warning in Options | Security. odbg110 просто не загружает файл. Попытался запустить так же StarStory.wrp в odbg110 ,ответ тот же. Деббагер просто зависает. Это первая такая игра,на остальных проблем не было. Может у кого то есть идея. |
|
Создано: 20 февраля 2018 20:30 · Личное сообщение · #16 |
|
Создано: 20 февраля 2018 20:51 · Личное сообщение · #17 |
|
Создано: 21 февраля 2018 01:27 · Личное сообщение · #18 |
|
Создано: 21 февраля 2018 08:09 · Личное сообщение · #19 |
|
Создано: 25 марта 2018 07:48 · Личное сообщение · #20 Подскажите. При загрузке в olly деббагер вылетает вот такая ошибка. Никогда не встречал. Bad or unknown format of 32-bit executable file C:\Program Rles\Alawar\Полуночный зов. Мудрый дракон.Коллекционное издание\MidnightCalling_WtseDragon_CE.wrp.exe, а дальше всё нормально грузится,но тогда проблемы со взломом. Совет по взлому не нужен. |
|
Создано: 25 марта 2018 09:31 · Поправил: BiteMoon · Личное сообщение · #21 |
|
Создано: 25 марта 2018 10:34 · Личное сообщение · #22 |
|
Создано: 25 марта 2018 10:54 · Личное сообщение · #23 |
|
Создано: 06 апреля 2018 22:15 · Поправил: lx60 · Личное сообщение · #24 Может, уже было что-то подобное, ну да ладно. Сделал свой извлекатель ключей для последних версий враппера (когда ключ зашифрован) http://sendfile.su/1495976 Как использовать: - забэкапить оригинальный враппер - скопировать экстрактор в папку с игрой - запустить игру - появятся файлы wrapper_config.txt и %game_id%_key.reg (второй можно запустить - игра зарегается) - вернуть оригинальный враппер | Сообщение посчитали полезным: artyavmu, korsaring |
|
Создано: 08 апреля 2018 17:26 · Личное сообщение · #25 |
|
Создано: 21 мая 2019 06:54 · Личное сообщение · #26 |
|
Создано: 21 мая 2019 12:52 · Личное сообщение · #27 |
|
Создано: 21 мая 2019 13:55 · Личное сообщение · #28 |
|
Создано: 21 мая 2019 16:00 · Личное сообщение · #29 |
|
Создано: 22 мая 2019 08:32 · Поправил: artyavmu · Личное сообщение · #30 |
|
Создано: 22 мая 2019 18:12 · Поправил: ID21l5X · Личное сообщение · #31 artyavmu пишет: Не работает,потому что нет привязанного ключа в играх. Убрали в открытом виде. ключ в зашифрованном виде, который сначало нужно расшифровать. и скорее всего части этого ключа разбросаны по коду. Который собирает враппер и после чего расшифровывает сам ключ. Получается нужно сначала собрать воедино потерянные кусочки этого ключа, дешифровать его и уже потом можно вытаскивать. А непросто подменили пару байт в открытом ключе, как раньше. |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . >> |
eXeL@B —› Крэки, обсуждения —› Взлом Alawar игр (отучим от триала) |