eXeL@B —› Основной форум —› Помогите с SolidShield + Tages |
Посл.ответ | Сообщение |
|
Создано: 19 февраля 2008 11:45 · Личное сообщение · #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 |
|
Создано: 19 февраля 2008 15:17 · Личное сообщение · #2 Ну и самый главный вопрос: кто нибудь снимал тагес ? После всех манипуляций дамп запускается но выдает сообщение "вставьте диск и не вынимайте". MessageBoxW вызывается из памяти выделяемой по всей видимости ВМ. Если поставить на нее железный бряк можно увидеть что команды там не постоянные. Разгребать ВМ как то не хочется Хочешь не хочешь но скорее всего придется , тут есть два варианта по средсвам DeviceIoControl он общается на прямую с CD-ROM ( как вариант свой драйвер) или при помощи API функций ( счас не помню точные названия). Решений несколько , или перехватывать АПИ и возвращать "нужные результаты" или если первый вариант не прокатит, то полный анализ вм попробуй найти и перепачить момент проверки диска , но там зарыта собака в том что с диска может вернутся какой нить кровь из носа необходимый хешь который в свою очередь может менять значения при каждой загрузке игры\обращении к диску ( но так пока даже старфорс не издевается, хотя у него там вся вм на обратных хешах работает, скорее всего у тебя там GetDevaceType ( да поправят меня если я ошибся) и смотрит метку диска , как правило его имя). ( игру я еще не скачал , это еще пока все теория , чуть поже гляну , может там все просто решается) |
|
Создано: 20 февраля 2008 05:32 · Личное сообщение · #3 У меня такое впечатление, что он диск вообще не проверяет после распаковки. DeviceIoControl вызывается только из advapi32.dll (CryptAcquireContextA). GetDriveType и GetVolumeInformation не вызываются. Плюс ко всему, если даже вставить диск все равно будет орать. Хотя возможно я что то упустил. Да уж, наверное придется разбирать 30 мегабайтов гогна |
|
Создано: 20 февраля 2008 16:33 · Личное сообщение · #4 undb пишет: "вставьте диск и не вынимайте" Патчить надо сам еще ехешник... проверка там еще есть. Если ты импорт импреком просто восстановил, то тебе круто повезло, обычно у тагеса переходы в апи идут через вм. К томуже секции бинарника забрасываются в память... и оттуда запускаются на выполнение.. Zorn пишет: У меня такое впечатление, что он диск вообще не проверяет после распаковки. Проверяется... ;) Только разница в том что после распаковки ты можешь это поправить пропатчив.. Кстати, тагес не так сложен как секюром. ИМХО ----- aLL rIGHTS rEVERSED! |
|
Создано: 21 февраля 2008 05:04 · Личное сообщение · #5 DaRKSiDE пишет: Если ты импорт импреком просто восстановил, то тебе круто повезло, обычно у тагеса переходы в апи идут через вм. Видимо не очень повезло, переходники все же имеют место быть. Как я и говорил MessageBoxW вызывается из памяти выделяемой по всей видимости ВМ притом на другой машине дамп валится и область VMData различается на разных машинах. Но это пока не самая главная проблема, для меня сейчас важнее запустить то что есть, хотя бы на одной машине. DaRKSiDE пишет: Проверяется... ;) Только разница в том что после распаковки ты можешь это поправить пропатчив.. Тогда КАК, если не через GetDriveType(A/W), GetVolumeInformation(A/W) или DeviceIoControl и как найти где патчить ? От мессаджбокса не попляшешь И еще там по моему еще в самой игрухе проверка есть - если ее запустить, а потом вытащить диск, при запуске миссии требует его вставить, но думаю к тагесу это уже не относится. |
|
Создано: 21 февраля 2008 09:19 · Личное сообщение · #6 Zorn пишет: Тогда КАК, если не через GetDriveType(A/W), GetVolumeInformation(A/W) или DeviceIoControl и как найти где патчить ? От мессаджбокса не попляшешь Незнаю как ты ищищь но я нашел место проверки именно от сообщения об отсутствии диска, правда ловил это место не бряком на MessageBox а на DestroyWindow после того как сообщение появилось. И все нашел однако... запатчить надо было переход jne ... кстати эта функция проверки вызывается не один раз, а несколько... Zorn пишет: Видимо не очень повезло, переходники все же имеют место быть. Как я и говорил Ну я по этому поводу просто написал скрипт для олли и все ;) ----- aLL rIGHTS rEVERSED! |
|
Создано: 21 февраля 2008 11:37 · Личное сообщение · #7 DaRKSiDE пишет: правда ловил это место не бряком на MessageBox а на DestroyWindow после того как сообщение появилось Разницы нет попадаю все равно ту да же
А откуда мы попадаем сюда, хз... (наверное из ВМ). Можешь по подробней объяснить как ты нашел тот jnz ??? DaRKSiDE пишет: Ну я по этому поводу просто написал скрипт для олли и все ;) Это у меня в планах на будущее |
|
Создано: 21 февраля 2008 12:28 · Личное сообщение · #8 |
|
Создано: 21 февраля 2008 13:33 · Личное сообщение · #9 В том то и дело что перед мессаджбоксом ниче нет. Собственно в этой области памяти (04BC0000-04BC1000) кроме этих инструкций ничего нету. Эта область постоянно выделяется/уничтожается (VirtualAlloc/Free). Именно ее я имел в виду когда говорил вызывается из памяти выделяемой по всей видимости ВМ и как я понимаю это и есть "переходники". А jmp в конце это прыжок в ВМ. |
|
Создано: 21 февраля 2008 14:44 · Личное сообщение · #10 |
|
Создано: 20 марта 2012 07:18 · Поправил: mak · Личное сообщение · #11 Не стал новую тему заводить, напишу тут. Кто может помочь с файлами ВМ от Тагеса? Качать игры по 5 гигов не вариант или на крайний случай. Мне нужны основные запротекченные ехе без лишних частей и наверное dvm.dll, Tagesclient.exe, Tagesclient.dat от игр как Фар край 2 или Anno 1404 например, цель глянуть ООП динамик вм. Заранее спасибо! ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: slayerslayer |
|
Создано: 20 марта 2012 10:20 · Личное сообщение · #12 Новые игры не бери. Тагеса там нет. Только солид, который намного проще старого. | Сообщение посчитали полезным: mak, slayerslayer |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 18 июля 2015 14:13 · Личное сообщение · #13 Ребяты, а есть | Сообщение посчитали полезным: slayerslayer |
|
Создано: 18 июля 2015 16:37 · Поправил: unknownproject · Личное сообщение · #14 ELF_7719116 пишет: Ребяты, а есть дунуть у кого нибудь игрушки/проги с SolidShield последним + активация онлайн? Вроде по --> сайту <--, они еще живые. Хочется нагнуть и этих тоже, после секурома. На шарьварьках не видел его, но больше всего меня веселит вот этот значок - Солид используют электроники, судя по этой инфе - http://help.ea.com/en/article/common-questions-about-solidshield-drm/ Надо в стиме посмотреть, мб какие демки им покрыты. ----- TEST YOUR MIGHT |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 18 июля 2015 17:57 · Личное сообщение · #15 |
eXeL@B —› Основной форум —› Помогите с SolidShield + Tages |