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

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


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

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

Сейчас на форуме: vlad3121, robertcase (+6 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Протекторы —› Crack SecuROM & DENUVO
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 45 . 46 . >>
Посл.ответ Сообщение

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

Создано: 28 марта 2012 14:24 · Поправил: 21 июля 2016 20:02 ELF_7719116 New!
Цитата · Личное сообщение · #1

Voksi arrested in Bulgaria


В связи со стремительно развивающимися событиями, данный топик будет реформирован. Перечень тем, на которые ведется обсуждение:

░▒▓▓-SecuROM 7/8 common (VM research; disk-check bypass attack; find OEP & dumping; cumulative attack...)
░▒▓▓-- SPR I (profiles; updates)
░▒▓▓-Requests for generation SecuROM PA Unlock code (SecuROM PA Online-activation) WOW! Only on EXELAB.RU
░▒▓▓-Denuvo ("surface" questions)
░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

SPR I - Fight against the virtual machines (VM) of all SecuROM 7-8 versions (Подробности в 20, 23 посте.)


80_PA - SecuROM (PA) Online-Activation keygen! Holy shit!
[/url]
the list of programs (games), which can now be activated using 80_PA:
https://pastebin.com/VTj6GyUp or --> pastebin primary link <--

>>>>>>>> (!) Send me more games with SecuROM PA (!) >>>>>>>>>>>>

Denuvo Profiler (DProfiler)


------------
1.04.2012
Собственно я не сказал самого главного. SecuRom_Profiler 7 v1.0(SPR I) - часть большого зеленого пирога, под названием "ТИБЕРИУМНЫЙ РЕВЕРСИНГ" (статья опубликована в 159 номере ][. А позже, ещё одна итоговая статья - 199 ][), включает в себя собственно статью в журнале, ПОЛНУЮ техническую статью, материалы по SecuROM 7.33.0017, исходники X-кода и видео. Технический вариант статьи с приложениями можно брать отсюда:
Статья
Видео
Видео 2 (Продолжение)
Видео 3 (Окончательный разгром)
Видео 4 (В погоне за взломом DENUVO)
Имеет косвенное отношение к статье:
Видео косвенное

tags: SecuROM crack, VM, секуром взлом; кейген для SecuROM PA, 80_PA

Message for the companies(etc) using this protection: we can buy SecuROM/DENUVO SDK & sources. Сontact me according to the personal message. Сonfidentiality is guaranteed!!! The bought files will be used for private research!

░░░░░░░░░░
См. также:
diff_trace

▓▓
{ Атач доступен только для участников форума } - Sony DADC SecuROM vulnerability.zip
{ Атач доступен только для участников форума } - PATENT DENUVO.pdf (притащил v00doo)


▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓
80_PA update 1.3.3 (REVIEW + DENUVO leak content activation ). Official links (mirrors):
https://mega.nz/#!mXoTEJhb!2H1QoEP8dGZ82IZD63jJ9Y6rSZbwcZkNF3VD80pkn7M (или --> 80_PA link <--)
http://rgho.st/7YzS28SYQ (или --> 80_PA link #2 <--)

▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓
DENUVO Leak content
обращайтесь в личку - скину.

▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓▒▓
Denuvo Profiler (DProfiler) - test version 0.3 "INSPIRE"
https://mega.nz/#!DLwExKya!kCyFXw1roY3MkFaTO56LJAd-amc2yXWVerV2ic38bgs (или --> DProfiler link <--)
http://rgho.st/8kJMQ7BQL (или --> DProfiler link #2 <--)

▒▓▒▓
Unravel_dump_SCY (клубок) for research
http://rgho.st/7x7b9RGtM

| Сообщение посчитали полезным: yanus0, obfuskator, Vovan666, MasterSoft, slick, hlmadip, ClockMan, Nightshade, Dart Raiden, Bronco, BAHEK, SReg, [Nomad], DimitarSerg, verdizela, yagello, OnLyOnE, FrenFolio, daFix, VodoleY, gena-m, m0bscene, Gideon Vi, ff0h, zeppe1in, antipod, huckfuck, kioresk, aRiX, 4kusNick, Ara, d0wn, Smon, audiofeel, zNob, cypherpunk, zzzombie1989, MarcElBichon, v00doo, DenCoder, nick7, Haoose-GP, arnix, Qbik, serilo, s2003r, DICI BF, Kindly, PavelDAS, HandMill, VanHelsing, random, TrueLies, warezhunter_, denfil777, alx30721, omeh2003, asm-jaime, WildGoblin, mushr00m, Flippy1801, KOTwasya, r3n5m388, chegevara, Groul, dnv83, kassane, ==DJ==[ZLO], red0x, HAOSov, rootkid, DirtyHarry, MacTep, kurorolucifer, s0cpy, aire1, ReloadUGunz, tRuNKator, Cherbet, RmK-FreE, Pringell, IHateInventNicknames, go2crck, mak, Dimosz, Creckerhack


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

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

Существует специальный зашифрованный блок данных в защищаемом приложении - SecuROM Data Block (SDB). По нему и можно определить.

Ранг: 1.5 (гость)
Статус: Участник

Создано: 11 декабря 2012 08:09 New!
Цитата · Личное сообщение · #3

ELF_7719116 пишет:

Существует специальный зашифрованный блок данных в защищаемом приложении - SecuROM Data Block (SDB). По нему и можно определить.

А можно поподробней?

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

Создано: 11 декабря 2012 20:50 New!
Цитата · Личное сообщение · #4

Oleg74
Можно. Суть такова: в PE-хидер вшивается зашифрованный блок, куда секуром складывает свои опознавательные данные - ASCIIZ-строку It's SecuROM, три unsigned int -версия, подверсия, билд(ex.7.33.17) и еще какие-то служебные данные. Как ни странно, но все это дело зашифровано фирменный™ циклом с двойным шагом + DWORDы версий заXORированы с фиксированными масками:
Code:
  1. .text:0042589B loc_42589B:                             ; CODE XREF: DECRYPT+49j
  2. .text:0042589B                 mov     eax, [MAGIC_BYTE]
  3. .text:004258A0                 lea     edi, [eax+esi]
  4. .text:004258A3                 xor     edx, edx
  5. .text:004258A5                 mov     eax, esi
  6. .text:004258A7                 push    7
  7. .text:004258A9                 pop     ecx
  8. .text:004258AA                 div     ecx
  9. .text:004258AC                 mov     eax, [NEXT_BYTE_TO_DECODE]
  10. .text:004258B1                 movzx   eax, word ptr [eax]
  11. .text:004258B4                 mov     ecx, edx
  12. .text:004258B6                 shl     ax, cl
  13. .text:004258B9                 mov     ecx, esi
  14. .text:004258BB                 and     ecx, 3
  15. .text:004258BE                 mov     edx, esi
  16. .text:004258C0                 shl     edx, cl
  17. .text:004258C2                 add     eax, edx
  18. .text:004258C4                 xor     [edi], ax //немножко уличной магии
  19. .text:004258C7                 inc     esi
  20. .text:004258C8                 inc     esi
  21. .text:004258C9                 cmp     esi, ebx
  22. .text:004258CB                 jb      short loc_42589B

Чтоб цикл начал работать на нас, предварительно надо еще пошукать в том-же PE-хидере три вещи:
-Размер SDB блока(должен быть больше или равен 0xD40)
-MAGIC_BYTE(нулю не должен быть равен)
-Значение смещения самого SDB блока
Остальные детали можно почерпнуть из сего творения сумрачных австрийских гениев: http://download.securom.com/support/srdiag.zip (по адресу .text:004065B0 и т.д.). Кстати ProtectionID по этому алго и работает.
P.S. Все вышесказанное справедливо к 7й версии точно. SecuROM Diagnostic Tool не видит свою 8ю версию(WTF?) - размер SDB блока нулевой...или мне файл кривой прислали. Вполне веротяно, что сам блок остался в 8ке, просто поменяли расположение данных, маски XOR, в цикле например делитель цифра 8(вместо 7).

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


Ранг: 1.5 (гость)
Статус: Участник

Создано: 12 декабря 2012 08:08 New!
Цитата · Личное сообщение · #5

ELF_7719116
Спасибо за информацию! Думаю, в SecuROM Diagnostic Tool стоит покопаться.

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

Создано: 13 марта 2013 20:08 New!
Цитата · Личное сообщение · #6

Вообщем, хочу поделиться своей очередной радостью, для тех кто неравнодушен
Разобрался в основах проверки оригинального диска, вопросы конечно остались, но суть в принципе ясна!
Получилось(!!!) до самого старта игрушки у мну сделать чтобы SecuROM без проблем "схавал" абсолютно левый диск (герой дня - установочный диск Windows 7) в виртуальном приводе, под контролем OllyDbg
Проверка на две части разбита: сигнатурная часть и геометрическая. Первую можно пройти запатчив 4 перехода, со второй суть сложнее - над правильно такты рассчитать (queryperformancecounter/queryperformancefrequency) и попасть в интервал. Если такты на выходе меньше интервала, то диск - резервная копия, если больше - время на проверку завышено и предлагается повторить. Самое важное: подходя ко второму интервалу, защита уже знает что диск в приводе оригинальный...
Короче начинаю писать epic fa... Sony DADC AG, от Российских ре-инженеров!

| Сообщение посчитали полезным: [Nomad], OnLyOnE, redelf


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

Создано: 13 марта 2013 20:22 New!
Цитата · Личное сообщение · #7

Респект. А какая версия исследуемого протектора ?

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

Создано: 14 марта 2013 07:35 New!
Цитата · Личное сообщение · #8

[Nomad]
7.33.017. Смотрел еще 8.03.012 - в принципе, все тоже самое.

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

Создано: 21 марта 2013 19:17 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #9


Вообщем малость подебажил еще и SecuROM 7.33.017 запустился с физического диска(левого естественно) без даемон тулсов и всего прочего. Просто как обычный запуск...разве что, вместо оригинального DVD Command & Conquer 3: Tiberium Wars(которого у меня попросту нет) - пиратский DVD "Приключения Шерлока Холмса и Доктора Ватсона"
Теперь я понял, почему в реестре пишется !CAUTION! NEVER DELETE OR CHANGE ANY KEY... ПАтАму что БАГ!!! Т.к. без моей задержки по времени, секуром 7 и 8 просит удалить резервную копию (ага! в физической приводе)...идиот! а без патчинга - велика вероятность терминате процесс с кодом 1(я думал это фича защиты, но потом открыл реестр и понял). To be continued...


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

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

Многие новые игры идут с онлайн активацией. И я думаю от дисков скоро вообще начнут избавляться. Есть ли профит копать дисковую активацию, которая может вскоре исчезнуть?

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

Создано: 22 марта 2013 07:42 New!
Цитата · Личное сообщение · #11

Nightshade
Копаю интереса ради. Соглашусь, что тенденция избавления от кругляшков есть, но, скорее всего, в ближайшем будущем(год-два) the end не наступит.
Что касается paul.dll, то и там все можно патчить и эмулировать-было бы желание. Просто не разделяю мнения с разработчиками, что повальная онлайн-активация будет панацеей.


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

Создано: 22 марта 2013 19:12 New!
Цитата · Личное сообщение · #12

Paul можно не патчить. Достаточно подделать результаты. Раньше в секуре были константы ответа пауля. В стиле 21- не прошли проверку 1- прошли. Или наоборот. Еще было что-то типа списка адресов фунок секура в памяти(типа IAT). Так вот в этой IAT секура были адреса типа "проверка не пройдена" и "пройдена проверка онлайн активации". Тупо меняя 3 dword местами можно было всегда идти по нужной ветке. Как сейчас - хз.

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

Создано: 22 марта 2013 20:29 New!
Цитата · Личное сообщение · #13

Между прочим! Пару недель назад только узнал, что SecuROM оказывается запрещено дизассемблировать и ломать! (Честное слово)
Правда чтоли???


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

Создано: 22 марта 2013 23:27 New!
Цитата · Личное сообщение · #14

Взимание платы за игру категорически запрещаются.


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

Создано: 22 марта 2013 23:31 · Поправил: Kindly New!
Цитата · Личное сообщение · #15

ELF_7719116 пишет:
Пару недель назад только узнал, что SecuROM оказывается запрещено дизассемблировать и ломать!

Это же соглашение игры, а не секурома, не? Овер 99% шаровар имеют подобное соглашение, запрещающее модификацию ПО.


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

Создано: 23 марта 2013 10:26 New!
Цитата · Личное сообщение · #16

ELF_7719116 пишет:
Между прочим! Пару недель назад только узнал, что SecuROM оказывается запрещено дизассемблировать и ломать! (Честное слово)
Правда чтоли???


Тебя это останавливает?

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

Создано: 23 марта 2013 10:30 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #17

Nightshade пишет:
Взимание платы за игру категорически запрещаются

ахаха! Фраза действительно выносящая
Kindly пишет:
Это же соглашение игры

RockStar просит не ломать секуром. Ага!
OnLyOnE пишет:
Тебя это останавливает?

Поеду в Австрию, извиняться перед Sony DADC AG. Может простят?!

Кому ещ интересно - за баг во 2й части есть еще одна ссылка http://www.zdnet.com/blog/hardware/securom-drm-sucks/3207. Пиндос взял лицензионный диск FarCry2, вставил в привод ноутбука Alienware M17 и ... секуром криво рассчитал интервал.
Еще смотрел SafeDisk 4.5, там, кстати, патчить еще проще было - функции проверки через дюжину переходов были от DeviceIoControl. Единственное, что в SolidShield'e 1 хрень какая-то была: в дровах время засекалось, а на ring3 циклический ReadFile.

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

Создано: 26 мая 2013 15:10 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #18

Дописывать/не дописывать?
Собсно начал потихоньку развивать SecuRom_Profiler 7 дальше. В принципе написать мощный инструмент для работы с самим секуромом и его VM(7.3x) не сложно. НО, в моем видении сегодняшний расклад сил таков, что сабж "загибается" (равно как и старфорс). К тому же, в новой 8й версии еще не видел VM (Brave videogame, PES 2013, Crysis 3).

ADD: Наблюдательные лица мне пишут, что в 8м секуроме (Brave videogame) есть VM(ere, wuts goin on`)! Ну конечно, как бы UD2 менял аппаратные точки останова. Там еще есть "FiSHy WiSHy"...
Так вот! На самом деле там огрызок виртуальной машины:
Code:
  1. ...
  2. 208E13AC    83F1 62         XOR ECX,00000062
  3. 208E13AF    01D9            ADD ECX,EBX
  4. 208E13B1    0011            ADD BYTE PTR DS:[ECX],DL
  5. 208E13B3    59              POP ECX
  6. 208E13B4    5A              POP EDX
  7. 208E13B5    81F6 26183748   XOR ESI,48371826
  8. 208E13BB    89F0            MOV EAX,ESI
  9. 208E13BD    B9 19000000     MOV ECX,19
  10. 208E13C2    83F1 1D         XOR ECX,0000001D
  11. 208E13C5    01D9            ADD ECX,EBX
  12. 208E13C7    8301 08         ADD DWORD PTR DS:[ECX],8
  13. 208E13CA    FFE0            JMP EAX

1. Нет CPUID, значит нет Хранилища №1.5. SecuRom_Profiler работает, но декодерованные адреса - туфта. Поэтому JMP EAX прыгает не на островки, а на статические инструкции, которые не относятся к общей логике работы VM(по факту - готовая пища).
2. Сам первые островок находиться в секции, а не в выделенной памяти.

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

Создано: 24 июня 2013 18:48 New!
Цитата · Личное сообщение · #19

*******************************************
* АНЕКДОТ ОТ БЛАУКОВИЧА ПРО УЛИТКУ *
*******************************************

РЕАЛЬНАЯ ASCIIZ-СТРОКА В BRAVE VIDEOGAME ПО АДРЕСУ 0x208E1410
Кстати, в SecuROM теперь стали поставляться анекдоты. Глядишь, следующая 9 версия будет позиционироваться как журнал "Вокруг смеха".

Оригинальный текст(в скобках исправленное слово):
A snail walks into a bar and the barman tells him theres (there's).a strict policy about having snails in the bar and so kicks him out. A year later the same snail re-enters the bar and asks the barman,.'What did you do that for?'.)
Правильный перевод:
Улитка заходит в бар, но бармен заявляет: «У нас строгая политика в отношении улиток!» — и ногой выпихивает ее на улицу. Через год улитка возвращается в бар и говорит бармену: «Да как ты посмел!?» )

Есть еще строка (чуть выше) пиарящая МТС: i'm an egg, can't move. Сut my life into pieces

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


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

Создано: 1 апреля 2014 20:28 New!
Цитата · Личное сообщение · #20

Так повелось, что после своего ДР, добавляю что-то новое в серию "Тибериумный реверсинг".
Настала очередь немного улучшить программу для работы с VM... Да! Это не совсем то, что хотел сделать, ибо мои возможности позволяют достать Sony DADC AG окончательно и ударить полноценным SecuROM unVirtualizer. Но это время, которого у меня мало, ну и, прежде всего хотелось услышать, что это реально нужно! Тем не менее, была сделана модернизация старого SecuRom_Profiler 7 v1.0, чтобы еще успешней бороться с новыми версиями VM. Для удобства, теперь новая программа называется кратко - SPR I (SecuROM ProfileR I). Несмотря на схожий интерфейс с SecuRom_Profiler 7 v1.0, внутри, это другой продукт.

Прежде всего, хочу сказать ОГРОМНОЕ спасибо:
- random. С его релизов и началось обновление и переписывание
- Archer. Ввиду нехватки времени его советы, на мои(иногда дурацкие) вопросы, оказались бесценны
- Nightshade. За некоторую полезную информацию по паше.длл
- mak. За Odd-even crypt алгоритм

Основные нововведения:
Code:
  1. -Добавлена поддержка спецификаций 8 виртуальной машины. Сохраняемые регистры CPU для внешних вызовов. Multi-таблица(хранилище).
  2. -Переработаны алгоритмы. Устранены фатальные ошибки. Произведена оптимизация.
  3. -Переработан интерфейс. Теперь нет необходимости узнавать PID. Укажите имя процесса(или найдите его в списке ComboBox) и статический указатель на мульти-хранилище. Показ ленты p-code(виртуальный стек) в коротком варианте для быстроты загрузки. Сохранение предыдущего состояния VM.
  4. -Распознавание данных, которые хранят хендлы в специальной зоне обмена данными. Подсветка адресов, по которым произведено чтение данных в зону обмена (т.е. примитив <i class=x>DWORD PTR [адрес]</i>).
  5. -Обламывание SecuROM Anti-Attach (возможность присоединится к процессу)
  6. -Генерация отчета о вызовах виртуальной машины в образе(только для 8)
  7. -Сохранена совместимость с предыдущими VM от 7 версии
  8. -Перезапись(перехват) хендлов в хранилище дельта-смещений(актуально для SecuROM 7)
  9. -Распознание и показ ASCIIZ строки отлаживаемой VM в заголовке (идентификация версии исследуемой VM)
  10. -Profiler.Ini файл для удобного конфигурирования программы и записи(запоминания) статического указателя multi-таблицы для новой жертвы(теперь еще быстрее можно открыть процесс и начать работу)
  11. -Другие мелкие исправления...


Качать в первом посте.
Справка будет чуть попозже.
На английском языке...подумаю еще(выпускать/не выпускать).
SecuRom_Profiler 7 v1.0 уходит на отдых.
Предложения и вопросы-принимаются.

| Сообщение посчитали полезным: zNob, Gideon Vi, CyberGod, random, v00doo, SReg, hello


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

Создано: 9 апреля 2014 19:58 New!
Цитата · Личное сообщение · #21

Всем здравствуйте!
ELF_7719116, свирепствуйте над секурмом?!
Тем не менее, я никак не могу найти информацию по SecuROM PA (Product activation). Возможно ли ее обойти? Что проверяется защитой и как? ulock code, как я понял, завязан сложным крипто-алготитмом без обратного преобразования с request code и проверяется в виртуальной машине.
И переключение между "главными хранилищами" идет через стек (mov eax, FS:[4]... ), кодом в выделенной памяти?

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

Создано: 12 апреля 2014 10:32 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #22

Ну что же, поделюсь что сам знаю на данный момент. Тибериумный реверсинг - Глава №3. SecuROM Product Activation
hello пишет:
Что проверяется защитой и как?

Кратко: Проверяется лицензия. Все что связано с лицензией, имеет в названии буквы DSS(например, для XP/2k3 папка C:\Documents and Settings\All Users\Application Data\DSS\Content Activation\). paul.dll вызывает две функции в целевом .exe, которые проверяют лицензию и ее опции. request code содержит привязку к машине, unlock содержит байты, которые могут накладывать ограничения по лицензии(триал, кол-во запусков). --> PDF на сайте секурома<--.
hello пишет:
ulock code, как я понял, завязан сложным крипто-алготитмом без обратного преобразования с request code и проверяется в виртуальной машине.

Во-первых, принципиально не завязан ничем. Так как, в сравнении с VM 7, в новой 8й, сама суть виртуализации скатилась в говно в сторону упрощения. SecuROM 8 VM теперь, по сути, прослойка между функциями, которая кидает между ними регистры CPU(и не забываем EFLAGS) и выполняет ключевые сравнения, т.е. к примеру имеем код под VM:
Code:
  1. #VM_cover_start
  2. PUSH some_func_ARG1
  3. CALL some_func
  4. TEST EAX, EAX
  5. JE LABEL_1
  6. CALL some_func_2
  7. CMP EAX, [какой-то адрес]
  8. LABEL_1:
  9. MOV [адрес], EAX
  10. #VM_cover_end

some_func и some_func_2 будут выглядеть как стандартные функции, с секуромвской обфускацией и стандартными фитчами, вроде проверки TF и целостности участков кода(защита от софтварных INT3)-VM не виртуализирует, а вызывает внешним вызовом из себя. TEST EAX, EAX будет проверяться внутри VM, для CMP EAX, [какой-то адрес] будет внешний вызов, как и для some_func/some_func_2. MOV [адрес], EAX будет в VM (к слову, это самая заезженная виртуализированная инструкция с секурома 7).
Во-вторых, как следствие первого, раскручивание проверки unlock code - это в наибольшей степени является задрачиваем IDA Pro и утилиты Hex-Rays. В переработанном виде виде С++ и не переработанной последней функции (там одна большая суб, разбитая на несколько операций):
Code:
  1.          static char form_string[0x40];
  2.          static char form_string_level_1[0x40];
  3.          static char form_string_level_2[0x28];
  4.          static char form_string_level_3[0x28];
  5.  
  6.          long a = ::GetWindowTextLength(m_unlock_code.m_hWnd);
  7.          ltoa(a,&buf[0],16);
  8.          ltoa(a,&buf2[0],10);
  9.          strcat(&buf[0],"(");
  10.          strcat(&buf[0],&buf2[0]);
  11.          strcat(&buf[0],")");
  12.          ::SetWindowText(m_count.m_hWnd,&buf[0]);
  13.          if(a!=0x2f) //длина unlock кода - 30 (48) символов с нулем. 0x2f- это 47 без нуля
  14.          {
  15.                  return 0x7; // 7 - lengh mismatch
  16.          }
  17.          ::GetWindowText(m_unlock_code.m_hWnd,&form_string[0],0x40);
  18.  
  19.          long b=0;
  20.          long c=0;
  21.          // ******** 1я фукнция *********** // 
  22. // strupr(&form_string[0]); - здесь IRL идет оператор strupr, но у меня UPPERCASE стиль
  23.  
  24.          // ******** 2я фукнция *********** // 
  25.          do{
  26.                  if(form_string<b>!=0x2D)
  27.                  {
  28.                         memcpy(&form_string_level_1[c],&form_string[b],1); //выкидываем тире разделители
  29.                         c++;
  30.                  }
  31.                  
  32.  
  33.          }while((b++)!=0x40);
  34.  
  35.          //////////// 1//////////////////
  36.  
  37.                  // ******** 3я фукнция *********** // 
  38.          /// логическое преобразование (обратимо очевидно)/////
  39. b=0;
  40.           do
  41.       {
  42.         //form_string_level_1[b] = *(_BYTE *)(v7 + v6);
  43.         if ( form_string_level_1[b] >= 0x61u && form_string_level_1[b] <= 0x7Au )
  44.           form_string_level_3[b] -= 32;
  45.         if ( form_string_level_1[b] < 0x32u || form_string_level_1[b] > 0x39u )
  46.         {
  47.           if ( form_string_level_1[b] < 0x41u || form_string_level_1[b] > 0x48u )
  48.           {
  49.             if ( form_string_level_1[b] < 0x4Au || form_string_level_1[b] > 0x4Eu )
  50.             {
  51.               if ( form_string_level_1[b] < 0x50u || form_string_level_1[b] > 0x5Au )
  52.                           {
  53.                return 0x14; //0x14 - unlock code convert mismatch
  54.                           }
  55.  
  56.               form_string_level_3[b] = form_string_level_1[b] - 59;
  57.             }
  58.             else
  59.             {
  60.               form_string_level_3[b] = form_string_level_1[b] - 58;
  61.             }
  62.           }
  63.           else
  64.           {
  65.             form_string_level_3[b] = form_string_level_1[b] - 57;
  66.           }
  67.         }
  68.         else
  69.         {
  70.           form_string_level_3[b] = form_string_level_1[b] - 50;
  71.         }
  72.        ++b;
  73.       }
  74.       while ( b < 0x28 );
  75.          b=0;
  76.  
  77.          // ******** 4я фукнция *********** // 
  78.          /// процедура (кусок) где сработала точка останова по чтению, но общая функция на самом деле больше/////
  79.  
  80.           v6 = 0;
  81.   if ( a2 && (v7 = a4) != 0 && a6 && a6 <= 8 )
  82.   {
  83.     v16 = 0;
  84.     v15 = 0;
  85.    // MEMSET((void *)a4, 0, a5);
  86.     if ( a3 > 0 )
  87.     {
  88.       v14 = 1 - a4;
  89.       v8 = a4;
  90.       do
  91.       {
  92.         LOWORD(a1) = *(_BYTE *)(v6 + a2);
  93.         v13 = v6 + 1;
  94.         a1 <<= v16;
  95.         if ( v14 + v8 < a5 )
  96.           v9 = *(_BYTE *)(v15 + v7 + 1);
  97.         else
  98.           v9 = 0;
  99.         HIBYTE(v10) = v9;
  100.         LOBYTE(v10) = *(_BYTE *)v8;
  101.         v11 = a1 | v10;
  102.         v7 = a4;
  103.         if ( v14 + v8 < a5 )
  104.           *(_BYTE *)(v15 + a4 + 1) = HIBYTE(v11);
  105.         *(_BYTE *)v8 = v11;
  106.         v16 += a6;
  107.         if ( v16 >= 8 )
  108.         {
  109.           ++v15;
  110.           ++v8;
  111.           v16 -= 8;
  112.         }
  113.         ++v6;
  114.       }
  115.       while ( v13 < a3 );
  116.     }
  117. //    result = 1;
  118. // 4я фукнция(общая) забивает байтами какой-то массив в стеке, потом идет:
  119.  
  120.          CMP DWORD PTR SS:[EBP-2348],0xEA26469E //несколько интересная вещь
  121. //после нее разбивок унлок кода я пока не обнаружил

Так к сведению: в секуроме есть свой некоторый аналог [b]printf, который помимо забивания всякой херни в зашифрованные OpenSSL строки
Code:
  1. 0C14B343EF459C61E9371B66D363{%d}0FE1CF5963119ACC{%d}55F1A

светит чем живет в данный момент секурон онлайн активация, т.е. макросы
Code:
  1. PA_REQUEST_GET_ID, PA_REQUEST_SET_SERIAL

таблицу:
Code:
  1. UNDEFINED     ..LASTACCESSDATE..INSTALLDATE   ..COUNTER       ..FIRSTTIME     ..PERIODIC      ..PERIODICDAYS  ..UNLOCK        ..ERROR:unknown.. PLAYTIME и тд

и обозначения кодов возврата
Code:
  1. 1-epic win! :)
  2. 7 - длина не равна 0x30(48)
  3. 9-ошибка проверки лицензии
  4. 0x14-фейл при конвертации унлока по этапам
  5. 0x20 - unlock коде в черном списке
  6. 0x21- лицензия не найдена


п.с. Еще у меня получалось генерить невалдиную лицензию, тогда первая проверка возвращает 9 (License Verification Error), вместо 0x21 когда ее вообще у Вас нет! Serial, по-моему, не связан при генерац...
hello пишет:
И переключение между "главными хранилищами" идет через стек

Да, и копаете в правильном направлении.

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

Создано: 20 апреля 2014 13:58 New!
Цитата · Личное сообщение · #23

SPR I v1.2

ПЛАНОВЫЕ ОБНОВЛЕНИЯ
Code:
  1. -Исправлены ошибки (в т.ч. с обнаружением ASCII строк, идентифицирующих VM)
  2. (+)WOW! Добавлено использование дизассемблера Olly в библиотеке olly_disasm.dll (След. субпримитив, хранилище №1.5
  3. -Теперь разделено собственно на Profiler.cfg(профили DRM) и Config.cfg(конфиг SPR I)
  4. -Добавлены новые MT адреса, защищенных секуромом игрушек, в Profiler.cfg (thx for random)
  5. -Интерфейс: удобная навигация по главным хранилищам теперь в главном окне SPR I

| Сообщение посчитали полезным: ajax, mak, v00doo, SReg, MarcElBichon, zNob, [Nomad], BAHEK, hello


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

Создано: 13 декабря 2014 10:16 · Поправил: hello New!
Цитата · Личное сообщение · #24

Уважаемый, ELF_7719116 и остальные, кто причастен к ТР. Мое терпенье закончилось
Я и некоторые мои знакомые постоянно следят за этой темой, за Вашими постами, в надежде, что Вы наконец-то напишите фразу, как это было с секуромом: "Denuvo cracked". А все потому, что уже тошно и невыносимо читать "желтую прессу", которая пишет ахинею, в стиле:
Code:
  1. В последних ААА-играх на ПК (Dragon Age: Inqusition, Lords of the Fallen, FIFA 2015),
  2.  используется некая защита от авторов защиты StarForce под названием Denuvo, 
  3. которая *якобы* способна нанести вред вашему жесткому диску, особенно, 
  4. если он твердотельный - ибо у них значительно более ограничено количество перезаписей
Взято отсюда --> Link <--. Причем тут старфорс, я не понимаю, когда Denuvo - продукт бывших разработчиков SecuROM'а?! Адрес (Denuvo Software Solutions GmbH, Strubergasse 26 ,5020 Salzburg, Austria) тому подверждение. А с 3dm ВООБЩЕ непонятно, взломали ли они защиту или нет. Кто кому какие чемоданчики носит и что проплачивает Ubisoft. Кроме Вас, как единственного авторитетного источника на территории России(других я не знаю), как компетентного лица (глядя на грандиозные успехи со взломом секурома), больше никто не может ответить: можно ли взломать Denuvo? Действительно ли там все так сложно? Что за метод изменяющихся кодов? И не говорите, что Вы не знаете о чем я говорю, в теме "Чем упаковано", Вы правильно ответили: --> Link <--. Я молюсь, что не ошибся со своими выводами
Насколько позволяют мои знания, то предположу, что в этом денуво: после цепочки VirutalProtect вирутальная машина начинается и она до oep?!

ps: По запасному каналу, Вы не отвечаете. Поэтому я решил написать тут. Тем более, можете считать это официальным писмом к Вам от геймеров. Уверен, что под ним подпишется не один десяток человек. Прошу сильно меня не пинать за это.

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

Создано: 13 декабря 2014 15:19 New!
Цитата · Личное сообщение · #25

hello пишет:
3dm ВООБЩЕ непонятно, взломали ли они защиту или нет.

Они частично ее взломали и смогли запустить предварительно активированную игру, в обход проверки, но подделать саму активацию пока что не в состоянии.

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

Создано: 13 декабря 2014 18:16 New!
Цитата · Личное сообщение · #26

TryAga1n пишет:
смогли запустить предварительно активированную игру, в обход проверки, но подделать саму активацию пока что не в состоянии.

Активация, в смысле, Steam - Origin??? Или у денуво есть своя активация?

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

Создано: 24 декабря 2014 20:14 New!
Цитата · Личное сообщение · #27

Неофициальный ответ, на не менее, официальное Ваше письмо:
Уважаемое игровое сообщество, hello, леди и джентльмены, а также их родители, кто придумал это письмо и кто подписался под этим письмом и ребята, кто наблюдает за этим форумом (и ТР, в частности), ну и конечно казлы-разработчики старфорса (секурома, тагес сас)!
Прежде всего предупреждаю, что не надо писать подобные письма здесь, в этом топике - здесь, прежде всего, обсуждаются технические аспекты работы протекторов, а не хотелки геймеров, Ваши эмоции, и бред этих ПОПСОВЫХ "желтых пресс"!
ТЕПЕРЬ, собственно, по теме
hello пишет:
И не говорите, что Вы не знаете о чем я говорю, в теме "Чем упаковано", Вы правильно ответили: --> Link <--. Я молюсь, что не ошибся со своими выводами

За Lords of the Fallen, В ДЕЙСТВИТЕЛЬНОСТИ, я прочитал из той же попсовой "желтой прессы" (как Вы ее называете, с чем, впрочем, се непременно соглашусь), а отнюдь не дизассемблированием LordsOfFallen.exe. Вы немного ошиблись! Кстати, что ARCHANGEL по защите тоже был не в курсе.
hello пишет:
в надежде, что Вы наконец-то напишите фразу, как это было с секуромом: "Denuvo cracked"

Не напишу!!! По крайней мере, в обозримом будущем я не планирую заниматься Denuvo(денуво, ДЕРнуво, дануево). На это есть свои причины, одна из которых (долго не решался написать )... (начну издалека)... #22 пост вверху... Вы же понимаете, что всё нужно доводить до конца, тем более, когда сами спрашиваете постоянно за это(хотите все и сразу?)... если рубить, то наверняка... Специально для тех, у кого сердце радостно бьется при очередной русской победе... для тех, кто верит, что DRM-зло!... всем, кто борется/боролся с протекторами... в назидание и наставление... от коллектива сайта EXELAB.ru... ПОКА, ЧТО НЕОФИЦИАЛЬНО!!!нерабочий вариант(aka небольшая рекламка) ... --> SecuROM PAunlock page <-- ... ДА! это то, что Вы подумали! SecuROM PA online-activation... Но подробностей пока что не будет!
Единственное, что намекну: если ТАМ не работает, это не значит, что не работает вообще! ЕСЛИ Вам нужен unlock code или Вы желаете принять участие в тестировании, напишите сюда или мне в личку...

hello пишет:
А с 3dm ВООБЩЕ непонятно, взломали ли они защиту или нет.

hello пишет:
можно ли взломать Denuvo? Действительно ли там все так сложно? Что за метод изменяющихся кодов?

Уже не ждете ответа, после прочитанного Выше?! Тем не менее, несмотря на то, что второй (косвенный) удар для Denuvo (да, это бывшие разработчики SecuROM, которые сидят в том же городе, но по другому адресу)по факту, за нами, это не значит, что я не видел в отладчике этой защиты Тут Вы частично оказались правы!
ПРЕДУПРЕЖДАЮ сразу-суммарное время проведенное за «отладкой» какой-то фигни, якобы называемой LordsOfFallen составило не более получаса (~20 минут). Основные выводы я для себя сделал (вполне возможно, за этими словами кроется что-то страшное для горе-разрабов Denuvo). Посчитаю нужным озвучить скудную информацию для частичного «утоления Вашей жажды»:
Итак! A: Что мы имеем? Q: По большей части, для этого денуво больше подходит клеймо «SecuROM 9». Очевидно, разработчики правильно рассудили, что с новым названием есть шанс сгребсти с жадных копирастов больше бабла, т.к. секуром, по факту, они просрали (техническое поражение). Если отмести в сторону вагон вызовов WinAPI VirtualProtect, то имеем такой знакомый, теплый и родной анти-аттач на ntdll.DbgUiRemoteBreakIn, который ведет на ExitProcess и проапгрейженную конструктивно работу VM. Виртуальная машина представляет собой нечто между VM от SecuROM версии 8 и VM от SecuROM версии 7, с уклоном в сторону последнего (если Вы читали тех. вариант стати, поймете):
Code:
  1. <<< островок №1 — типичный (входов в VM несколько) >>>
  2. < некоторые значимые куски >
  3. mov esi, dword ptr ss:[rsp+A0] //аргумент №1 (raw на ленту of p-code )
  4. xor esi, CFDCF9B4 
  5. ror esi, 9 
  6. inc esi 
  7. mov rax, 100000000 //hi-addr 
  8. add rsi, rax //RSI - pointer to p-code
  9.  
  10. sub rsp, 140 //стек, как зона обмена данными (VM data exchange area)
  11.  
  12. lea r12, qword ptr ds:[14FE789F2] // Хранилище №1.5)
  13.  
  14. mov al, byte ptr ds:[rsi] //извлекает байт из ленты p-code
  15. add rsi, 1 
  16. neg al 
  17. rol al, 7 
  18. inc al 
  19. mov rdx, qword ptr ds:[r12+rax*8]  //следующий хендл (островок, примитив)
  20. dec rdx 
  21. jmp rdx
  22.  
  23. типа обфускация, никто ничего не понимает:
  24. sub rsi, FFFFFFFFFFFFFFFC (-4) //на самом деле add rsi, 4 
  25. ну и пару относительно «свежих» триков обфускации.
  26.  
  27. ну и составные инструкции островков:
  28. add qword ptr ss:[rbp+8], rax 
  29. pop qword ptr ss:[rbp] (так и осталась неизменной)
  30. mov [rax+ebp] ...

Похожесть: есть такая игрушка Blood Bowl: Legendary Edition («BB_LE.exe», SecuROM версии 7.42, VM ID-ere, wuts goin on`, addres - 0x3C92BC0 ), погуляйте по этой виртуальной машине, и представьте, что зона обменна данных будет привязана к стеку(а не отдельной структурой), регистры VM привязаны к регистрам самого CPU. Эт я к тому, если надумаете копаться в VM SecuROM 9 Denuvo.
Ломаемо ли все это? Более чем! Единственное, что не наблюдаю в текущем current researched range(deep) — привязка к машине (ака CPUID). Напрашивается вывод, секуромовцы реверснули старфорс и «переняли» метод оттуда (как ни странно, «желтая пресса», в лице плаугроундру, тут попала пальцем в небо, а может … и странно).
За 3dm могу, разве что, такой --> линкъ <-- дать. Там речь, вроде, шла о лоадере. И кстати, частично подтверждает мое предположение, что разрекламированная «неуязвимость» «танцует» возле cpuid(когда 3dm говорили, что им нужно протестить кряк на всех CPU).
hello пишет:
Активация, в смысле, Steam - Origin??

Steam точно. VM переплетена с вызовами из steam....dll (как и до этого режим работы виртуальной машины с вызовами всяких системных kernel32)

| Сообщение посчитали полезным: Gideon Vi, hello



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

Создано: 25 декабря 2014 02:57 New!
Цитата · Личное сообщение · #28

ELF_7719116, а что там по поводу постоянного шифрования файлов на диске? Есть мысли, нахрена козе баян?

ELF_7719116 пишет:
SecuROM PA online-activation


да ладна?!


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

Создано: 25 декабря 2014 03:13 New!
Цитата · Личное сообщение · #29

https://support.securom.com/PAunlock/index.php?c=1000&exp_serial=1
а это что за анлок? и зачем тогда еще один если есть оффициальный

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

Создано: 25 декабря 2014 07:31 New!
Цитата · Личное сообщение · #30

reversecode пишет:
а это что за анлок? и зачем тогда еще один если есть оффициальный

дак этож наш, краклабовский™! к тому же в официальном надо вводить серийный номер, а чтобы его ввести надо зачем-то покупать лицензионный диск, что крайне неудобно.
реверскод, кстати, DES_warp. там же еще перестановки две после/перед OR вложенными циклами, их ведь тоже надо учесть? в оригинальном encrypt/decrypt их нет. а еще если в циклах OR на XOR поменять, то маска у конечного XOR всегда 0 будет и результат выходного буфера не измениться.
Gideon Vi пишет:
а что там по поводу постоянного шифрования файлов на диске? Есть мысли, нахрена козе баян?

в текущем range не видел, чтобы он открывал CreateFile, ReadFile... судя по всему, с файлами он начинает работать после OEP.


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

Создано: 25 декабря 2014 09:31 New!
Цитата · Личное сообщение · #31

раньше вроде были хуки createfile. И если файл из списка идем в контейнер секурома.
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 45 . 46 . >>
 eXeL@B —› Протекторы —› Crack SecuROM & DENUVO

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

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