eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме:
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› Помогите с SolidShield + Tages
Посл.ответ Сообщение

Ранг: 53.9 (постоянный)
Статус: Участник

Создано: 19 февраля 2008 11:45 New!
Цитата · Личное сообщение · #1

Решил недавно поизучать защиту на Settlers6.
В нэте инфы по SolidShield и тем более по тагесу нашел. Попробовал сам разобраться.
Проверка диска проходит до EP, в main() DLL виртуальной машины. Собственно рабочий дамп получить не так сложно, достаточно иметь рабочий образ (или огрызок).
ОЕП находится банальным hr esp-4, импорт можно восстановить импреком.
Потом достаточно прицепить VM и еще одну область памяти к которой она обращается (назовем ее VMData), поправить адрес секции VMData в секции VM (смещение 0x0A) и заменить адрес VMCall (у меня он должен находиться по адресу 10034888)
Потом еще возможно нужно подредактить секцию VMData (там похоже имеются адреса системных функций) чтоб работало на другом компе, но это пока не столь важно.

Вопрос первый: есть ли способ создать секцию с разными Raw Offset и Virtual Offset - это чтоб создать секцию в которой будет адрес VMCall. Я обошел это с помощью VirtualAlloc на EP, но думаю это не самый кошерный способ.

Ну и самый главный вопрос: кто нибудь снимал тагес ? После всех манипуляций дамп запускается но выдает сообщение "вставьте диск и не вынимайте".
MessageBoxW вызывается из памяти выделяемой по всей видимости ВМ. Если поставить на нее железный бряк можно увидеть что команды там не постоянные.
Разгребать ВМ как то не хочется

Небходимое файло для запуска проверки диска (36Мб)
rapidshare.com/files/93082462/bin.rar.html

Ранг: 30.2 (посетитель)
Статус: Участник

Создано: 19 февраля 2008 15:17 New!
Цитата · Личное сообщение · #2

Ну и самый главный вопрос: кто нибудь снимал тагес ? После всех манипуляций дамп запускается но выдает сообщение "вставьте диск и не вынимайте".
MessageBoxW вызывается из памяти выделяемой по всей видимости ВМ. Если поставить на нее железный бряк можно увидеть что команды там не постоянные.
Разгребать ВМ как то не хочется

Хочешь не хочешь но скорее всего придется , тут есть два варианта по средсвам DeviceIoControl он общается на прямую с CD-ROM ( как вариант свой драйвер) или при помощи API функций ( счас не помню точные названия).

Решений несколько , или перехватывать АПИ и возвращать "нужные результаты" или если первый вариант не прокатит, то полный анализ вм попробуй найти и перепачить момент проверки диска , но там зарыта собака в том что с диска может вернутся какой нить кровь из носа необходимый хешь который в свою очередь может менять значения при каждой загрузке игры\обращении к диску ( но так пока даже старфорс не издевается, хотя у него там вся вм на обратных хешах работает, скорее всего у тебя там GetDevaceType ( да поправят меня если я ошибся) и смотрит метку диска , как правило его имя).

( игру я еще не скачал , это еще пока все теория , чуть поже гляну , может там все просто решается)

Ранг: 53.9 (постоянный)
Статус: Участник

Создано: 20 февраля 2008 05:32 New!
Цитата · Личное сообщение · #3

У меня такое впечатление, что он диск вообще не проверяет после распаковки. DeviceIoControl вызывается только из advapi32.dll (CryptAcquireContextA). GetDriveType и GetVolumeInformation не вызываются. Плюс ко всему, если даже вставить диск все равно будет орать. Хотя возможно я что то упустил.

Да уж, наверное придется разбирать 30 мегабайтов гогна


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 20 февраля 2008 16:33 New!
Цитата · Личное сообщение · #4

undb пишет:
"вставьте диск и не вынимайте"


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

Zorn пишет:
У меня такое впечатление, что он диск вообще не проверяет после распаковки.


Проверяется... ;)
Только разница в том что после распаковки ты можешь это поправить пропатчив..

Кстати, тагес не так сложен как секюром. ИМХО

Ранг: 53.9 (постоянный)
Статус: Участник

Создано: 21 февраля 2008 05:04 New!
Цитата · Личное сообщение · #5

DaRKSiDE пишет:
Если ты импорт импреком просто восстановил, то тебе круто повезло, обычно у тагеса переходы в апи идут через вм.

Видимо не очень повезло, переходники все же имеют место быть. Как я и говорил
MessageBoxW вызывается из памяти выделяемой по всей видимости ВМ
притом на другой машине дамп валится и область VMData различается на разных машинах.
Но это пока не самая главная проблема, для меня сейчас важнее запустить то что есть, хотя бы на одной машине.

DaRKSiDE пишет:
Проверяется... ;)
Только разница в том что после распаковки ты можешь это поправить пропатчив..

Тогда КАК, если не через GetDriveType(A/W), GetVolumeInformation(A/W) или DeviceIoControl и как найти где патчить ? От мессаджбокса не попляшешь

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


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 21 февраля 2008 09:19 New!
Цитата · Личное сообщение · #6

Zorn пишет:
Тогда КАК, если не через GetDriveType(A/W), GetVolumeInformation(A/W) или DeviceIoControl и как найти где патчить ? От мессаджбокса не попляшешь


Незнаю как ты ищищь но я нашел место проверки именно от сообщения об отсутствии диска, правда ловил это место не бряком на MessageBox а на DestroyWindow после того как сообщение появилось. И все нашел однако... запатчить надо было переход jne ... кстати эта функция проверки вызывается не один раз, а несколько...
Zorn пишет:
Видимо не очень повезло, переходники все же имеют место быть. Как я и говорил

Ну я по этому поводу просто написал скрипт для олли и все ;)

Ранг: 53.9 (постоянный)
Статус: Участник

Создано: 21 февраля 2008 11:37 New!
Цитата · Личное сообщение · #7

DaRKSiDE пишет:
правда ловил это место не бряком на MessageBox а на DestroyWindow после того как сообщение появилось

Разницы нет попадаю все равно ту да же

04BC0000 FF15 0C558F00 CALL DWORD PTR DS:[8F550C] ; USER32.MessageBoxW
04BC0006 68 2CBBDACD PUSH CDDABB2C
04BC000B 68 2CBB26C9 PUSH C926BB2C
04BC0010 68 CA77237B PUSH 7B2377CA
04BC0015 - E9 07A566FC JMP Crack.0122A521

А откуда мы попадаем сюда, хз... (наверное из ВМ).
Можешь по подробней объяснить как ты нашел тот jnz ???

DaRKSiDE пишет:
Ну я по этому поводу просто написал скрипт для олли и все ;)

Это у меня в планах на будущее


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 21 февраля 2008 12:28 New!
Цитата · Личное сообщение · #8

Zorn пишет:
А откуда мы попадаем сюда, хз... (наверное из ВМ).


Выше меседжа какие инструкции?
В стек глянь, там нет адреса возврата?
Обычно перед меседжбоксом идет запрос DeviceIoControl.
Так было у меня, в игре SilverFall

Ранг: 53.9 (постоянный)
Статус: Участник

Создано: 21 февраля 2008 13:33 New!
Цитата · Личное сообщение · #9

В том то и дело что перед мессаджбоксом ниче нет. Собственно в этой области памяти (04BC0000-04BC1000) кроме этих инструкций ничего нету. Эта область постоянно выделяется/уничтожается (VirtualAlloc/Free). Именно ее я имел в виду когда говорил вызывается из памяти выделяемой по всей видимости ВМ и как я понимаю это и есть "переходники". А jmp в конце это прыжок в ВМ.


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 21 февраля 2008 14:44 New!
Цитата · Личное сообщение · #10

Zorn

Короче надо будет мне диск с лицензией купить и самому посмотреть, что там наворочено...


Ранг: 630.4 (!)
Статус: Участник
CyberMonk

Создано: 20 марта 2012 07:18 · Поправил: mak New!
Цитата · Личное сообщение · #11

Не стал новую тему заводить, напишу тут. Кто может помочь с файлами ВМ от Тагеса? Качать игры по 5 гигов не вариант или на крайний случай. Мне нужны основные запротекченные ехе без лишних частей и наверное dvm.dll, Tagesclient.exe, Tagesclient.dat от игр как Фар край 2 или Anno 1404 например, цель глянуть ООП динамик вм. Заранее спасибо!

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



Ранг: 240.2 (наставник)
Статус: Участник

Создано: 20 марта 2012 10:20 New!
Цитата · Личное сообщение · #12

Новые игры не бери. Тагеса там нет. Только солид, который намного проще старого.

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


Ранг: 366.5 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 18 июля 2015 14:13 New!
Цитата · Личное сообщение · #13

Ребяты, а есть дунуть у кого нибудь игрушки/проги с SolidShield последним + активация онлайн? Вроде по --> сайту <--, они еще живые. Хочется нагнуть и этих тоже, после секурома.

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


Ранг: 95.7 (постоянный)
Статус: Участник

Создано: 18 июля 2015 16:37 · Поправил: 18 июля 2015 16:44 unknownproject New!
Цитата · Личное сообщение · #14

ELF_7719116 пишет:
Ребяты, а есть дунуть у кого нибудь игрушки/проги с SolidShield последним + активация онлайн? Вроде по --> сайту <--, они еще живые. Хочется нагнуть и этих тоже, после секурома.

На шарьварьках не видел его, но больше всего меня веселит вот этот значок -

Солид используют электроники, судя по этой инфе - http://help.ea.com/en/article/common-questions-about-solidshield-drm/
Надо в стиме посмотреть, мб какие демки им покрыты.

Ранг: 366.5 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 18 июля 2015 17:57 New!
Цитата · Личное сообщение · #15

unknownproject пишет:
Надо в стиме посмотреть

Разве в стиме такой фигней пользуются?

Кому надо, интереса ради: на этом же сайте установлен WP. Зареганы два юзера (кто-то из них админ) с именами: gianni и solidshield. Мож кто пассворд брутанет и шелл зальет
 eXeL@B —› Основной форум —› Помогите с SolidShield + Tages

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS