eXeL@B —› Основной форум —› Исследование WildTangent |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 22 ноября 2011 22:20 · Личное сообщение · #1 В общем, есть такие маленькие, но очень, имхо, прикольные игры. Защищены этим враппером. Оффсайт Скачать можно любую игру - код враппера с точностью совпадает в защищённых играх. Этот враппер ранее исследовали ARTeam, но это было давно, и автоматический анвраппер для современных версий не пашет. Тем не менее, документ можно найти Теперь что сделал я. Подробно можно почитать В чём трудность. 1. Я не могу установить эти игры на варю. Есть у кого-то идеи, как это сделать? (в плане настройки вари) 2. Каждый раз топать до кода муторно, а аппаратники детектятся антиотладкой. Поэтому я заюзал оллискрипт. Всё ок, но я не могу дойти настолько далеко, насколько захочу. Попробую нормально пояснить. Есть некоторые точки в коде, на которых мне хотелось бы прерваться. Будем их считать вершинами графа. Понятное дело, что граф ориентирован (ибо я не могу попасть на патч процесса, не пройдя антиотладку и т.д.) Так вот проходя цепь в нужном мне порядке без проблем вручную (т.е. ставлю через F2 бряк, прерываюсь, хлопаю глазами, снимаю бряк, ставлю следующий и т.д.) всё идет по плану. Скрипт же всё делает правильно - бряки ставит, код анализирует, но до поределённого момента. Потом я ставлю бряк на очередную вершину, бряк не снимается, не срабатывает, а процесс стартует (исполнение в том же потоке, что и все другие вершины). Что за нах? 3. Далее - этот грёбаный инжект. Аттачем через олли я не могу нормально отладить его, т.к. приаттачить олли получается раза с десятого, и то - модули без анализа, текстовые имена олли не распознаёт (нельзя перейти на начало CreateEvent, например, надавив Ctrl+G и вписав её имя). Олли 2 - не вариант, ибо сыроват дебаггер. Какова цель? Ну, ясен хрен - статик анвраппер. Мож, кто сталкивался - что подскажут? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 22 ноября 2011 23:45 · Личное сообщение · #2 |
|
Создано: 22 ноября 2011 23:50 · Поправил: ARCHANGEL · Личное сообщение · #3 r99 пишет: Без загрузчика можно где-нить скачать игру? Скачать-то не проблема - проблема потом запустить. Этот инсталлятор создаёт всякие папки, ключи реестра, и если просто скопировать уже установленную игру, то она не будет работать. Думаете почему я игру на варе не дебажу? А соседи что говорят? Мои соседи (в соседнем доме) в реверсинге не сильны. Или что вы имели ввиду? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 23 ноября 2011 00:07 · Личное сообщение · #4 >>Вот этот, правда, странный трюк: Code:
FindFirstFileA("nul") вернет INVALID_HANDLE_VALUE, а CloseHandle(INVALID_HANDLE_VALUE) под отладчиком сгенерирует исключение STATUS_INVALID_HANDLE, без отладчика исключения не будет. ----- Yann Tiersen best and do not fuck |
|
Создано: 23 ноября 2011 00:18 · Личное сообщение · #5 PE_Kill Я, честно говоря, всегда думал, что правильно закрывать дескрипторы функций типа FindFirstFile нужно через FindClose, а CloseHandle может сгенерить иксепшн под дебаггером даже для валидного дескриптора от FindFirstFile, т.е. я полагал, что невалидный для FindClose может быть валидным для CloseHandle. Такое искажённое представление реальности у меня сложилось после Tool help функций и чтения МСДН. А сейчас глянул бегло в дизассемблере - FindClose - это банальный ZwClose, только с критическими секциями, так что вы на 100 % правы. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 23 ноября 2011 01:21 · Личное сообщение · #6 |
|
Создано: 23 ноября 2011 01:29 · Личное сообщение · #7 ARCHANGEL пишет: 2. Отреверсить алгоритм проверки unlock code и написать кейген. Как бы не так, там онлайн-проверка, если мне не изменяет память. Господа, давайте придерживаться какой-то одной игры, чтобы веселее дело пошло. | Сообщение посчитали полезным: daFix |
|
Создано: 23 ноября 2011 01:36 · Личное сообщение · #8 Isaev пишет: если враппер снять она станет портабельной? Да. И как неправильно написал топикстартер, это не от WT игры. WT лишь дистрибьютор. Plants vs. Zombies существовала и до появления WildTangent, только вот ломали все подряд, поэтому отказались сами распространять. И это касается очень многих враперов для мини-игр: разные разработчики, один дистрибьютор. Экономически очень выгодно и пользователю удобно (сразу целая библиотека игр). Осталось лишь довести пользовательское удобство до предела и анврапер написать. Добавлено: Это наномиты что ли? Code:
|
|
Создано: 23 ноября 2011 01:55 · Личное сообщение · #9 |
|
Создано: 23 ноября 2011 07:12 · Личное сообщение · #10 Не знаю, что там сейчас, но помню враппер снимался примерно так. Запускаем игру именно от производителя WildTangent, например Penguins или PolarPool (*-WT.exe) из под ольки (обходим антидебаг), после появления нага ставим бряки CreateThread и ResumeThread. Жмакаем запустить или Try или че там и наши бряки сработают, потом дамп и переименовываем в *-WT.exe обратно. Главное обойти как палится отладчик. Вот GameUnwrapper от dr.Carbon c сорцами: http://rghost.ru/private/31639511/91d52ef7d1b06275955b9800b4381341 вроде работал не так давно, но в нем косяк с таймером, скидывается до 1000 и игра не успевает запустится, хотя может враппер этот таймер прибивает. ----- Array[Login..Logout] of Life |
|
Создано: 23 ноября 2011 07:51 · Личное сообщение · #11 |
|
Создано: 23 ноября 2011 10:46 · Поправил: PE_Kill · Личное сообщение · #12 Kindly пишет: вроде работал не так давно, но в нем косяк с таймером, скидывается до 1000 и игра не успевает запустится, хотя может враппер этот таймер прибивает. Да, косяк. Надо в сорсах вместо Code:
Сделать что то типа Code:
И тогда работает. Но в статике конечно интереснее бы было снять. ----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: Kindly |
|
Создано: 23 ноября 2011 10:55 · Поправил: ARCHANGEL · Личное сообщение · #13 int пишет: Как бы не так, там онлайн-проверка, если мне не изменяет память. Возможно. Вы читаете черновик, который не редактировался. Некоторые "измышления" там написаны ещё до того, как прога была засунута в дизассемблер. Да. И как неправильно написал топикстартер, это не от WT игры. WT лишь дистрибьютор Есть такое дело, но равзе это так важно? Господа, давайте придерживаться какой-то одной игры, чтобы веселее дело пошло. Это необязательно. В начале я исследовал PolarPool, потом в середине перешёл на Футбол с петухами (как-то там называется, но я забыл), а код - байт в байт одинаковый. Осталось лишь довести пользовательское удобство до предела и анврапер написать. Вот-вот. Kindly пишет: Запускаем игру именно от производителя WildTangent, например Penguins или PolarPool (*-WT.exe) из под ольки (обходим антидебаг), после появления нага ставим бряки CreateThread и ResumeThread. Жмакаем запустить или Try или че там и наши бряки сработают, потом дамп и переименовываем в *-WT.exe обратно. Не заработает. Во первых, для некоторых игр надо восстановить оверлей, во-вторых, т.к. все секции тупо пишутся после запуска основного ехе, это приведёт к тому, что такой дамп если б и работал, то работал бы только на одной системе, ибо не восстановлена таблица импорта. Плюс самый главный недостаток - что делать, если триал период уже истёк, и динамически анрапнуть уже нельзя, т.к. нельзя запустить игру? ClockMan пишет: А чего там обходить? убрать галку с protect DRx да и неставить железные бряки. Я так и делаю, проблема совсем не в этом. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 23 ноября 2011 11:01 · Личное сообщение · #14 ARCHANGEL пишет: Не заработает. Во первых, для некоторых игр надо восстановить оверлей, во-вторых, т.к. все секции тупо пишутся после запуска основного ехе, это приведёт к тому, что такой дамп если б и работал, то работал бы только на одной системе, ибо не восстановлена таблица импорта. А она при SUSPEND еще не инициализирована, так что я проверил - работает. А оверлей то к защите как я понял не привязан, это чисто PE фишка, просто перенести в дамп и всё. ----- Yann Tiersen best and do not fuck |
|
Создано: 23 ноября 2011 11:27 · Личное сообщение · #15 |
|
Создано: 23 ноября 2011 11:35 · Личное сообщение · #16 PE_Kill пишет: А она при SUSPEND еще не инициализирована +1 Я всвоё время отвязывал одну игру от враппера так там шла цифровая подпись которая конечно же была недействительна т.к файл был изменён враппером,я сдампил winhex файл восстановил секции по rva_offset прикрутил подпись и она стала действительна обычный ламерский враппер я для наглядности скачал игру 7 Wonders - Magical Mystery Tour ничего так и неизменилось расспаковалась на ура ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 23 ноября 2011 13:08 · Личное сообщение · #17 Ламерский - это понятно. Во время работы игры дамп дает полу-рабочую игру (инициализацию надо исправить, как минимум). Даже ВМ нет и всяких других игрушек подобного плана. Но все же я соглашусь с PE_Kill - надо бы статику придумать. И действительно интересно как монетки получать халявные. Это явно можно обмануть. |
|
Создано: 23 ноября 2011 14:46 · Личное сообщение · #18 |
|
Создано: 23 ноября 2011 15:33 · Личное сообщение · #19 |
|
Создано: 23 ноября 2011 16:09 · Личное сообщение · #20 Давайте так. Топик гласит "Исследование WildTangent". Если интересует именно защита от и до, то можем скооперироваться и сделать что то вроде объемной статьи. Если нужен именно отлом в любой ипостаси, то можно реализовать за час-два максимум анвраппер, не вникая в защиту. ----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: mysterio |
|
Создано: 23 ноября 2011 16:41 · Личное сообщение · #21 Статья + исходники анврапера! Это было бы реально круто. Давно таких хороших статей не было... | Сообщение посчитали полезным: DimitarSerg, Spirt_Fire |
|
Создано: 23 ноября 2011 17:48 · Личное сообщение · #22 Дорогие друзья, отлом в любой ипостаси не нужен, т.к. это - не интересно. Предлагаю сосредоточится на статике. Что известно на сегодня? Известно, что в ехе без постфикса -WT патчатся секции, кроме секции ресурсов. Значит надо узнать, откуда берутся значения, которые потом пишутся через WriteProcessMemory в дочерний процесс. Далее надо исследовать процесс инициализации. Что-то можно взять из черновика в первом посте (там не так мало, как кажется), а что-то придётся ещё дописать. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 23 ноября 2011 17:54 · Личное сообщение · #23 |
|
Создано: 23 ноября 2011 22:15 · Личное сообщение · #24 |
|
Создано: 24 ноября 2011 02:33 · Личное сообщение · #25 ARCHANGEL пишет: Она будет запускаться, но поиграть нельзя будет ??? ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 24 ноября 2011 13:26 · Личное сообщение · #26 Префикс .p в названиях секций означает, что секции защищены (protected), т.е. зашифрованы. .pecode - код, выполняющий начальную инициализацию, показывает графическое окно и прочее .pccode - код, стартующий процесс, дешифрующий файл игры и прочее .phs - настройки враппера, типа название защищенного файла, название игры и прочее. У враппера приклеен оверлей, начинающийся с MZ, далее идут блоки контрольных сумм(?) и снова MZ и походу пошифрованый файл. Надо дальше колупать. ----- Yann Tiersen best and do not fuck |
|
Создано: 24 ноября 2011 19:29 · Личное сообщение · #27 |
|
Создано: 24 ноября 2011 21:30 · Личное сообщение · #28 PE_Kill пишет: У враппера приклеен оверлей, начинающийся с MZ, далее идут блоки контрольных сумм(?) и снова MZ и походу пошифрованый файл. Надо дальше колупать. Если кто-то ещё заинтересовался и есть желание сразу въехать в тему: Code:
Позиция чтения устанавливается на бинарник в оверлее и происходит копирование в Heap. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 25 ноября 2011 02:08 · Личное сообщение · #29 ARCHANGEL ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 25 ноября 2011 19:38 · Личное сообщение · #30 ClockMan Скачал нормально, распаковал, запустил - работает. Но мы, видимо, друг друга не поняли. Я говорил, что не работает после анраппера от dr.CarbOn, а тот файл, что вы выложили - то плод ручной работы (к нему приклеен оверлей). ----- Stuck to the plan, always think that we would stand up, never ran. |
. 1 . 2 . >> |
eXeL@B —› Основной форум —› Исследование WildTangent |