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

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

 eXeL@B —› Протекторы —› Crack SecuROM & DENUVO
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 50 . 51 . >>
Посл.ответ Сообщение

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

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


CODEX UNVIRTUALIZE DENUVO/VMProtect
Code:
  1. Release Notes:
  2.  
  3. This is an experimental Proof of Concept release where the Denuvo DRM
  4. and VMProtect have been removed completely from the main executable.
  5. The main idea of this project was to verify whether Denuvo affects
  6. CPU usage and overall performance of this game. We noticed faster
  7. loading times but will leave the rest of the performance comparison
  8. battle to others.
  9.  
  10. Here is a small tech summary of what has been done:
  11.  
  12. - VMProtect is fully removed (30 VM entry points)
  13. - Denuvo is fully removed (104 VM entry points)
  14. - All required PE directories are fully restored
  15. (exports, imports, exceptions, TLS)
  16. - Fixed around 500k absolute & relative code and data pointers
  17.  
  18. The team would like to send out special thanks to our hard working mate who is responsible for this huge project. This would not have been possible without you! You rock man!


**************

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

░▒▓▓-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/EiMbV3YD 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)
Имеет косвенное отношение к статье:
Видео косвенное

Хроники битвы при DENUVO 19.04.19
https://xakep.ru/2019/04/19/denuvo/

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 new 2.0 hotfix (!!!). Official links (mirrors):
https://mega.nz/#!L6gGBYBK!Y9X-6LFBdow6a1_IBlDFbrS6PBF4RRz_n9kuSGiI0UM (или --> 80_PA_v2.0 keygen link <--)
--> Mirror #1 <--
--> Mirror #2 <--

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

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

| Сообщение посчитали полезным: 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, zd0x, Mustafa_Dev007, UnnyBolt, Isaev, Astap1516, Voices_of_the_BULG, EHS4N, SnakeByte, KOCMOC42



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

Создано: 9 февраля 2016 03:03 New!
Цитата · Личное сообщение · #2

с торрентов, вестимо. Ищите в названии раздачи [L]


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

Создано: 9 февраля 2016 14:11 New!
Цитата · Личное сообщение · #3

Unravel вышел в релиз. Denuvo осталась на месте. Таблетки пока нет.
В папке присутствуют некие dbdata.dll и dbdataEA.dll, вероятно они тоже связаны с защитой

to ELF_7719116: на Русторке есть раздача папкой, можно скачать необходимые файлы для анализа.

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

Создано: 9 февраля 2016 15:49 · Поправил: 9 февраля 2016 15:54 infreered New!
Цитата · Личное сообщение · #4

Здравствуйте, Haoose-GP
Разрешите Вас просить разместить файлы, необходимые для запуска программы, на доступный сервис обмена файлами.

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

Создано: 9 февраля 2016 17:38 · Поправил: 9 февраля 2016 20:13 ELF_7719116 New!
Цитата · Личное сообщение · #5

koksokola пишет:
а откуда скачивать игры с этим securom?

Зачем обязательно скачивать?! Обычно на торрентах лежат уже готовые NoCD/NoDVD и 80_PA там не нужен. Другое дело, если игра - лицуха и требуется онлайн-активация секурома.

Haoose-GP пишет:
на Русторке есть раздача папкой, можно скачать необходимые файлы для анализа.

Киньте пжалуйста мин. рабочий набор, нет желания регаться, хотя и порекомендую (для тех кто ещё не знает) сервис "10 минутная почта": https://10minutemail.com

ClockMan пишет:
--> Link <--

Я не понимаю, что мешает собраться нам и немного потрепать денувко. Точнее понимаю, что многие скажут, что лень и долго (в плане того, что нужно кодить много новых инструментов). Хотя мало кто заметил, насколько --> годную копипасту <-- сделал vden
С другой стороны, вон, вышел X-COM 2 БЕЗ DENUVO, его зарелизили. X-COM 2!! И как оказалось, эта игра с легендарной биркой - дешевая забагованная халтура с x64 говнокодом! Меня хватило всего на десяток миссий. Кому тогда этот треш, защищенный vmprotect денуво тогда нужен?!

infreered
ROTR min. works kits from Qbik:
http://rghost.net/6hkjxkPx8
http://rghost.net/8bFMHkpTC
Unravel donwload link!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Code:
  1. https://www.sendspace.com/file/5kh3dw


Haoose-GP пишет:
В папке присутствуют некие dbdata.dll и dbdataEA.dll, вероятно они тоже связаны с защитой

Как пить дать. Правда размер маловат, всего 2 метра.

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



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

Создано: 9 февраля 2016 17:58 New!
Цитата · Личное сообщение · #6

ELF_7719116 пишет:
ROTR min

skidrow выложили на тест,как раз под обнову ларискину, посмотрел,угу... до десятка байт про патчили, но у меня валится , или я не от туда стартую?
// Странно как то оригинальную ОЕР опечатали, вызов пожевали, а процедура осталась.


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

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

В Unravel я не нашел файлы dbdata, как в стиме.
Если еще нужно, завтра утром выложу вам минимальные наборы RoTR и Unravel

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



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

Создано: 9 февраля 2016 22:42 · Поправил: 10 февраля 2016 16:27 DenCoder New!
Цитата · Личное сообщение · #8

ELF_7719116 пишет:
Я не понимаю, что мешает собраться нам и немного потрепать денувко.

Если пойму, что мне это на пользу, то, пожалуйста - я весь Ваш!
Но пока от лома игр ничего, кроме временного удовольствия и с ним выноса себе мозга с уходом от реальности не вижу... Оно в кризисный/предкризисный год очччень буит с пользой, да

Добавлено после ответа Bronco
Bronco пишет:
Аутогенная тренировка

Спасибо! В планах было поискать на эту тему, но работа не давала. А тут одна фраза и О!


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

Создано: 10 февраля 2016 04:17 New!
Цитата · Личное сообщение · #9

DenCoder пишет:
Если пойму, что мне это на пользу

Аутогенная тренировка ???

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


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

Создано: 10 февраля 2016 23:38 · Поправил: 10 февраля 2016 23:39 Qbik New!
Цитата · Личное сообщение · #10

Нашел у себя SecuROM PA GUI DLL, API Version 0.87 и SecuROM API хидеры. Мб кому то пригодится

{ Атач доступен только для участников форума } - securom_api.rar

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


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

Создано: 15 февраля 2016 18:29 New!
Цитата · Личное сообщение · #11

Касаемо Electronic Arts с его файло dbdataEA.dll.
Он экспортирует getTableData. По-моему там всё таки один аргумент, хотя IDA Pro говорит что два. Это указатель на __int64. Это можно судить по инструкции VM:
Code:
  1. mov qword ptr [rcx], rax //где rcx = arg2.

Полагаю туда ложится результат криптоопераций над CPUID, он вызывается от 1 до 4. Это поверхностно.

Чуть более детально. Начинаем чисто:
Code:
  1. void __usercall getTableData(signed __int64 a1@<rax>, __int64 a2@<rcx>)
  2. {
  3.   void *v2; // rsp@2
  4.   __int64 v3; // [sp-1990h] [bp-19B8h]@2
  5.   unsigned __int64 v4; // [sp+0h] [bp-28h]@2
  6.   __int64 v5; // [sp+30h] [bp+8h]@1
  7.  
  8.   v5 = a2;
  9.   v2 = alloca(a1);
  10.   v4 = (unsigned __int64)&v3 ^ _security_cookie;
  11.   JUMPOUT(&loc_298E7C);
  12. }

Далее начинается следующий код под vmprotect DENUVO:
Code:
  1. #DENUVO VM start
  2. GetCommandLine
  3. CommandLineToArgvW
  4. if (LocalFree == ??)
  5. {LocalFree}
  6. GetModuleHandle
  7. GetModuleFileNameA
  8. if (variable == ??)
  9. {
  10. CreateFile
  11. GetModuleHandleExA
  12. }
  13. _fsopen (dbdataEA.dll)
  14. _fseek(FILE *File, __int32 Offset = 0x00419CF0, int Origin = 0)
  15. _ftell
  16. _fseek
  17. _malloc(Size = 0x0003D9CF0)
  18. _fread( Count = 0x0288A08, ElementSize = 1)
  19.  
  20. if (allocaddress = VirutalAlloc(size = 0x100000, PAGE_EXECURE_READWRITE, 0000000001CF0000))
  21. {
  22.          
  23. }
  24. sub_11690(rcx =0000000001A60040, rdx=0000000000288A08)
  25. if fseek()
  26. {
  27.          
  28. }
  29. _new
  30. if (_fread)
  31. {}
  32. decrypt_1 (sub_11650)
  33. do{
  34. after_decrypt_rol (sub_11640)
  35. after_decrypt_rol (sub_11640)
  36. after_decrypt_rol (sub_11640)
  37. after_decrypt_rol (sub_11640)
  38. }while(2052--)
  39. memcpy(allocaddress+some_offset, asm cpuid code)
  40. call [asm cpuid code]
  41. *a2=(int64) result; //mov qword ptr [rcx], rax
  42. ...
  43. VirtualFree
  44. CloseHandle
  45. #DENUVO VM end

где asm cpuid code в динамической памяти с размером 0x100000
Code:
  1. PUSH RAX
  2. PUSH RBX
  3. PUSH RDX
  4. PUSH RCX
  5. SUB RSP,10
  6. MOV R10,RCX
  7. XOR ECX,ECX
  8. MOV EAX,EDX
  9. CPUID 
  10. MOV DWORD PTR DS:[R10],EAX
  11. MOV DWORD PTR DS:[R10+4],EBX
  12. MOV DWORD PTR DS:[R10+8],ECX
  13. MOV DWORD PTR DS:[R10+C],EDX
  14. ADD RSP,10
  15. POP RCX
  16. POP RDX
  17. POP RBX
  18. POP RAX
  19. RET 

данный код вызывается несколько раз (в цикле?!) с EAX от 1 до 4.
вероятно с CPUID идут какие-то тривиальные операции. Кстати в dll'ке есть такая открытая функа (вызывается через initterm при вызове DllEntryPoint):
Code:
  1. __int64 sub_1C55C()
  2. {
  3.   __int64 _RAX; // rax@1
  4.   char v1; // di@1
  5.   __int64 _RAX; // rax@1
  6.   __int64 _RDX; // rdx@1
  7.   __int64 _RCX; // rcx@1
  8.   __int64 _RBX; // rbx@1
  9.   signed int v6; // ebp@1
  10.   signed __int64 _RAX; // rax@1
  11.   bool v8; // r10@1
  12.   bool v9; // si@1
  13.   __int64 _RAX; // rax@1
  14.   __int64 _RCX; // rcx@1
  15.   int v14; // er11@1
  16.   int v15; // edx@2
  17.   unsigned __int64 v16; // rdx@5
  18.   signed __int64 v17; // rcx@6
  19.   int v18; // er8@7
  20.   signed __int64 _RAX; // rax@12
  21.   __int64 _RBX; // rbx@13
  22.  
  23.   _RAX = 0i64;
  24.   v1 = 0;
  25.   __asm { cpuid }
  26.   dword_361A4 = 2;
  27.   dword_361A0 = 1;
  28.   v6 = _RAX;
  29.   _RAX = 1i64;
  30.   v8 = ((unsigned int)_RBX ^ 0x756E6547 | (unsigned int)_RCX ^ 0x6C65746E | (unsigned int)_RDX ^ 0x49656E69) == 0;
  31.   v9 = ((unsigned int)_RCX ^ 0x444D4163 | (unsigned int)_RDX ^ 0x69746E65 | (unsigned int)_RBX ^ 0x68747541) == 0;
  32.   __asm { cpuid }
  33.   v14 = _RCX;
  34.   if ( v8
  35.     && ((v15 = _RAX & 0xFFF3FF0, (_RAX & 0xFFF3FF0) == 0x106C0)
  36.      || v15 == 0x20660
  37.      || v15 == 0x20670
  38.      || (v16 = (unsigned int)(v15 - 198224), (unsigned int)v16 <= 0x20)
  39.      && (v17 = 0x100010001i64, _bittest((const unsigned __int64 *)&v17, v16))) )
  40.   {
  41.     v18 = dword_380D0 | 1;
  42.     dword_380D0 |= 1u;
  43.   }
  44.   else
  45.   {
  46.     v18 = dword_380D0;
  47.   }
  48.   if ( v9 && (signed int)(_RAX & 0xFF00F00) >= 0x600F00 )
  49.   {
  50.     v18 |= 4u;
  51.     dword_380D0 = v18;
  52.   }
  53.   _RAX = 7i64;
  54.   if ( v6 >= 7 )
  55.   {
  56.     __asm { cpuid }
  57.     v1 = _RBX;
  58.     if ( _bittest((const unsigned int *)&_RBX, 9u) )
  59.       dword_380D0 = v18 | 2;
  60.   }
  61.   if ( _bittest((const unsigned int *)&v14, 0x14u) )
  62.   {
  63.     dword_361A0 = 2;
  64.     dword_361A4 = 6;
  65.     if ( _bittest((const unsigned int *)&v14, 0x1Bu) )
  66.     {
  67.       if ( _bittest((const unsigned int *)&v14, 0x1Cu) )
  68.       {
  69.         dword_361A0 = 3;
  70.         dword_361A4 = 14;
  71.         if ( v1 & 0x20 )
  72.         {
  73.           dword_361A0 = 5;
  74.           dword_361A4 = 46;
  75.         }
  76.       }
  77.     }
  78.   }
  79.   return 0i64;
  80. }

Вероятно под VM скрыто нечто подобное.

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



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

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

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


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

Создано: 19 февраля 2016 20:07 New!
Цитата · Личное сообщение · #13

Haoose-GP
Це шо? Новый Hitman или как?


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

Создано: 19 февраля 2016 20:56 New!
Цитата · Личное сообщение · #14

SharkXXL
Да. Бета-версия.

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

Создано: 21 февраля 2016 22:25 · Поправил: 21 февраля 2016 22:34 exit_2 New!
Цитата · Личное сообщение · #15

Hello all. I am new here and I hope I can write in English

I didn't crack anything very, very long time. But whole Denuvo is interesting topic for me (yes, I don't like them ).

Like I wrote, I didn't crack anything long time and these "new" DRM like Steam or Origin are something new for me.

Last couple of days I am doing deep analyze of Denuvo at Unravel. I didn't finnish, but I can write some details right now:

Unravel.exe calls Core/activation64.dll.ordinal64 - I think activation64.dll is part of Origin DRM. Code inside of this function tries open or create mutex "CoreXProcState"

and later function loads dbdata.dll and then call function getTableData.

Like ELF_7719116 wrote, this function is very interesting. Its 100% very important, because is obfuscated with something like VMProtect. Function returns 2ACh bytes (my case)

long data. These data looks like some HW ID. Origin using name DBReqToken.

I didn't have time analyze how function generate this HW ID, but it uses CPUID instruction with different parameters couple of times and I found functions like:
GetLogicalProcessorInformation, GetCurrentProcessorNumber, IsProcessorFeaturePresent

Later activation64.dll create new process core/ActivationUI.exe with parameter "/SMOID=%S". There is some little problem because activationUI is 32-bit process.
This process create origin.exe process which is again 32-bit process and then ActivationUI is called again and then game is started.

Origin DRM using names for parameters and then is easier analyze what is what. Protection looks for file activation.ini but never found any (maybe we can try create one ).
Some of names which Origin uses: WrappedExecutablePath, ExecutableProcessId, ContentIds, RequireOrigin, DBReqToken, UIVersion

License file is created at C:\ProgramData\Electronic Arts\EA Services\License\1031469.dlf (maybe we can run game at offline mode, I will try to investigate it)

File is encrypted, but later decrypted in memory. It contains some names again: <?xml version="1.0", encoding="UTF-8", standalone="yes",
<License xmlns="http://ea.com/license">, <CipherKey> (some encryption key?), <MachineHash> (some HW ID?), <ContentId>1031469</ContentId>,
<UserId> (user ID at origin service?)

Right now I am analyzing ActivationUI.exe and I will need some more time for it.

Some more information. Game is running when I am going offline. I didn't try to play it and maybe later it will be problem. I will try it and post info.
I am writing this because there are some rumors that some parts are decrypted (created) during application run, but I think not at this case (maybe I am wrong).
But ofcourse something like this is possible and server can send generated code for specific machine ID.

Attact to Denuvo is possible more than one way. I didn't analyze 3DM or CPY attacts and I don't know how they did it. Maybe someone can write more about it.
Its very good to know all possible information.

I think, they did, what I think is easier way. They somehow fooled Denuvo and used same HW ID and same license for all computers.
We will need analyze how getTableData function generating this HW ID. ELF already started but we will need more detailed info.
I did some research how catch cpuid instruction and its not easy I hoped it will generate some exception, but there is no exception
Opcode is pretty short (2 bytes) and then byte search is not very good idea. There is possibility trace code and found it like this, but this will slow down application
and its little bit dangerous because Denuvo can detect it. Maybe this is why CPY or 3DM cracks take so long time. Finding all CPUID instructions in >100MB file is
not easy job. I think they are using not only processor info for HW ID but OS info too (we will see ).

Can someone help with deobfuscation Denuvo's code?

I have some more ideas, but my post is really long (sorry). I will return to analyze and keep you updated.

Last problem. I tried to find anything about Origin DRM and I found nothing. Its really strange, because I found detailed info about Steam DRM.
It will really help me because Origin is not interesting for me (and I don't like do something what someone else already did ) and I want to work directly at Denuvo. I really though move to Steam and another game (Rise of Tomb Raider) because DRM unwrapper for Steam is public. But I started with this object and I did some work. Maybe someone will help me...

And please don't kill me for long post and bad english

| Сообщение посчитали полезным: ELF_7719116, v00doo, 4kusNick, Haoose-GP, daFix, PaXman


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

Создано: 22 февраля 2016 10:07 New!
Цитата · Личное сообщение · #16

exit_2
Hello! Thx for interest and some important information. For the file of the license (C:\ProgramData\Electronic Arts\EA Services\License\) I didn't know.

Files:
Core/activation64.dll
ActivationUI.exe
- is Origin cover. They have no relation to denuvo! --> simple origin topic <--

3DM, CPY probably use emulation DLC and patching some bytes in denuvo section.

exit_2 пишет:
Can someone help with deobfuscation Denuvo's code?

Need uvirtualizer.
Code:
  1. <?xml version="1.0", encoding="UTF-8", standalone="yes",
  2. <License xmlns="http://ea.com/license">, <CipherKey> (some encryption key?), <MachineHash> (some HW ID?), <ContentId>1031469</ContentId>,
  3. <UserId> (user ID at origin service?)

if it is origin, then (some encryption key?) = AES

exit_2 пишет:
Function returns 2ACh bytes (my case)

2ACh returns bytes always?

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

Создано: 22 февраля 2016 20:55 New!
Цитата · Личное сообщение · #17

great work exit_2

I've also got 2ACh bytes of something which looks like base64...but probably is not.


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

Создано: 22 февраля 2016 22:42 · Поправил: 22 февраля 2016 22:47 Haoose-GP New!
Цитата · Личное сообщение · #18

Наверно вы это и сами видели. Вряд ли что-то новое напишу.
Denuvo на Хитмане работает так:
При запуске если еще нет файлика dbdata в userdata\ (первый запуск) игра идет сюда:
Code:
  1. srv01.codefusion.technology (https)

И передает туда такие данные:
Code:
  1. <?xml version="1.0" encoding="UTF - 8"?><req version="1" dbv="2"><id>[SteamAppID]</id><st>[Набор буквоцифр]</st><db>[Набор буквоцифр]</db></req>

<db> - видимо зависит от железа и не меняется при нескольких последовательных запросах, а <st> может немного меняться с течением времени.
А в ответ приходит такое:
Code:
  1. <res><e>0</e><cf>[Содержимое dbdata]</cf></res>

Где <e>0</e> - это я полагаю код ошибки. В данном случае ошибок нет, код 0.

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

Создано: 26 февраля 2016 06:32 New!
Цитата · Личное сообщение · #19

Ok I will write small update after few days.

ELF_7719116: Yes, in my case 2ACh bytes always. I will try another computer too, just for testing differencies between data. I am interesting about it.

What I did last days. I fought against Origin It was important for me understand how it works and etc. Ofcourse I still don't know everything but many things are more clear for me now.

I installed another game with Origin's protection. It is 32-bit application and easier for debugging because no switch from 64-bit to 32-bit and back.
I did functional dump, but then I found problem. Dump working only with Origin running. Why? Its easy, they compiled some Origin's library to original program. I didn't have time go to deep inside of these functions, but in disassembly they have normal names and its not very hard to find them. I think there will be no problem switch them off (I will try it just for fun).

When I found way how correctly dump 32-bit executable, I moved back to 64-bit.
And? No problem Finally I have dumped exe and I can check only Denuvo protection.

I found some problems right now. Protection is pretty aggressive against x64dbg. If you try any normal breakpoint to API, crash. Hardware breakpoints doesn't work too. I will need more play with it.

I did very quick analyze. Functions for Origin aren't normal. I think Denuvo obfuscated them. Its not easy way to localize them like in 32-bit executable.

I checked license files from 32-bit and 64-bit game. Size is different. Its 577 bytes for 32-bit, but 1777 bytes for 64-bit. Pretty big difference.

I checked what is inside of licenses and its different too.

Same is: User ID
Different are: CyptherKey and MachineHash
64-bit key have one more parameter: GameToken

GameToken is 3FFh long BASE64 key (I hope). I think these data are generated by server and they are depends at DBReqToken generated inside of dbdata.dll . And I think these data Denuvo using inside of protection. We will see

I don't uderstand right now why is MachineHash different. Strange. Difference in computing for 32-bit and 64-bit???

1. Did someone deep test of anti-debug tricks and have any info? I can do it myself but it will be time consuming and maybe someone will share info.

2. We will need someone with good skills with deobfuscation. I really understand how VM works, but I really have no time learn whole Denuvo's VM obfuscation technology.
Maybe someone from VMSweeper team can help us? I think they know what are they doing But Denuvo using 64-bit code and what I saw VMSweeper is 32-bit code only

Tommorow I will try write first post whats doing directly inside Denuvo. I am doing fists steps right now and I already found some very interesting things.

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


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

Создано: 26 февраля 2016 18:28 New!
Цитата · Личное сообщение · #20

exit_2 пишет:
I found some problems right now. Protection is pretty aggressive against x64dbg. If you try any normal breakpoint to API, crash. Hardware breakpoints doesn't work too. I will need more play with it.

There are no problems in anti-debugging of DENUVO any. DENUVO is very feeble in it.
Set BP & control two WinAPI:
ntdll.<NtSetInformationThread> (GetCurrentProcess) - generate exections when installed BP is worked
kernel32.SetThreadContext (main thread) - clear HW BP

https://exelab.ru/f/index.php?action=vthread&forum=13&topic=19719&page=4#14

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


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

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

Hello again

ELF_7719116: Thx for answer. I am idiot. I can read, but maybe I can't? Thx again for patience

I will share some more information.

First very good information for all who need to help or they are insteresting about topic. I installed two more demos from Origin. Dragon Age Inquisition and Fifa 16.

Dragons Age Inqusiotion = Denuvo v2
Fifa 16 = Denuvo v3

I checked again Unravel and for my suprise its Denuvo v2 (Protection ID). I am little confused why they used not latest version of protection for new product.
But nevermind I will continue and I can move to v3 when we will break v2


I found 5 possible "run scenarios" for dumped exe:

1. Start at computer where license was generated. Exe will try to connect and if connection is correct then run correctly.
2. Start at computer where license was generated. Exe will try to connect and if connection is not correct then exe close silently.
3. Start at different computer. Denuvo will test license and delete it! Then run exe again 5x. With different cmd line:
- name_of_exe /dbrv1
- name_of_exe /dbrv2
- name_of_exe /dbrv3
- name_of_exe /dbrv4
- name_of_exe /dbrv5
- exitprocess
4. Start game with interesting cmd line: name_of_exe.exe /dbrv=1 /antitamperdiagnosis
Boom! This is very interesting They have some protection checking mechanism.
Protection will create file: C:\Users\name_of_current_user\Desktop\antitamper_diagnosis.bin
They write all important information to this file! We don't need create tool for dumping information,
they did it for us

5. Start game with cmd line: name_of_exe.exe /dbrv=1 / antitamperdiagnosis /CFEG37
This parameter of cmd line is strange. Protection just write msg box:
This game is incompatible with CheatEngine. Please close CheatEngine and restart the Game.

Sorry, this is all for today (I am going out finnaly ). Tommorow I will try to write about what they do (API calls).

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



Ранг: 335.3 (мудрец)
Статус: Участник
born to be evil

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

--> Real story <--

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



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

Создано: 1 марта 2016 18:55 · Поправил: 2 марта 2016 00:19 Kindly New!
Цитата · Личное сообщение · #23

Far Cry Primal (bin dir - from Uplay)
http://www22.zippyshare.com/v/Y5Tz2RqF/file.html

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


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

Создано: 2 марта 2016 00:19 New!
Цитата · Личное сообщение · #24

На нишебродском сабе крякстатус написали, что anno 2205 теперь использует denuvo. Если правда - интересный ход, встраивать защиту ПОСЛЕ выхода игры.

Так - случайные 5 центов.


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

Создано: 2 марта 2016 01:16 New!
Цитата · Личное сообщение · #25

Stormraider
Так и есть. Впрочем они хотели ее встроить сразу на релизе, но что-то не сложилось и в свет игра вышла без защиты.

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

Создано: 2 марта 2016 04:22 New!
Цитата · Личное сообщение · #26

I am sorry I am little bit late this time. But I was busy with other project.

Kindly: Did you upload this pack? There is one important thing. There is no dbdata.dll! Strange. There is systemdetection64.dll, but this dll is not obfuscated (quick check, maybe I am wrong)!

I will write some more informations.

When protected file started then (I will write only what I think is important):
1. Get addresses of these these API: - GetThreadContext, SetThreadContext, ExitProcess, RtlExitUserProcess, NtSetInformationThread, RtlCreateQueryDebugBuffer, RtlDestroyQueryDebugBuffer, RtlQueryProcessDebugInformation, DbgUiRemoteBreakin, DbgUiIssueRemoteBreakin
2. CreateFileMappingA ( INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, 1, "LHMHY01HEZshwMiLQCSnHqXgcnFDm" )
3. CreateNamedPipeA ( "\.\pipe\6mgQ3WdJk39bgDu8Pm2", PIPE_ACCESS_DUPLEX, PIPE_WAIT | PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_ACCEPT_REMOTE_CLIENTS, 1, 1, 1, 1, NULL )
4. CreatePipe ( 0x00000001413f666d, 0x000000014184bbb2, NULL, 1 )
5. SetEnvironmentVariableA ( "Jc9jdUeVhwFZHOPKr", "ajrpko9YL8bjm" )
6. CreateEventA ( NULL, FALSE, TRUE, "6xqa0beODJDuflrcdR" )
7. CreateThread (I think this is anti-debugging thread)
8. CreateFileW ( "dbdata.dll", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ),
9. GetFileSize("dbdata.dll"), ReadFile("dbdata.dll"), CloseHandle("dbdata.dll")
12. CreateFileW ( "C:\ProgramData\Electronic Arts\EA Services\License\1031469.dlf", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL ), GetFileSizeEx, ReadFile, CloseHandle
16. Anti-debug thread uses GetThreadContext, SetThreadContext and create another anti-debug thread
17. First license checking!!! If is not correct, then delete it and CreateProcessW with commandline + /dbrv=1 parameter

If is first license check correct:
18. CreateSemaphoreA ( NULL, 0, 2147483647, NULL )
19. FindFirstFileA ( "kits/*", 0x000000000012e7b0 )
20. GetEnvironmentVariableA ( "EAGameLocale", 0x000000000012e6e0, 1023 ) (not found in my case, maybe is interesting try to set it)
21. CreateSemaphoreA ( NULL, 0, 1073741823, NULL )
22. WSAStartup ( 514, 0x000000000012e320 )
23. Trying to open some Origin's keys
24. Trying to open Origin's process
25. Trying to connect, if connection is not allowed: OutputDebugStringA ( "Origin Error: failed to get game info The Origin desktop application is not loaded." )
26. If connection is allowed then using send and recv for communication.

For me is very hard to progress more. Without deobfuscation of code is not possible understand checking mechanism and other important things.
Last days I tried find informations about VMProtect 3.x and any good tools. It is problem, because there is 64-bit code. I will need help with deobfuscation or with good tool. If I try to create it, then I will need very long time for it and I only hope I will :/
This time maybe good cooperation will be necessary. Maybe ELF_7719116 or someone else can help me or continue.

One more strange thing to the end. Dragon Age using 32-bit code for dbdata.dll. It is 100% packed with something like VMProtect. Do you know someone how VMProtect 2.x protecting 64-bit DLLs? After unpacking is original code in 64-bit? Strange

| Сообщение посчитали полезным: 4kusNick, smetanine, ELF_7719116, jude



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

Создано: 2 марта 2016 11:29 · Поправил: 2 марта 2016 14:24 Kindly New!
Цитата · Личное сообщение · #27

exit_2 пишет:
Kindly: Did you upload this pack? There is one important thing. There is no dbdata.dll! Strange. There is systemdetection64.dll, but this dll is not obfuscated (quick check, maybe I am wrong)!

Yeah, this is the purchased licenced version from Uplay.

I see also new dirs with the some denuvo(?) data in:
c:\ProgramData\dbdata\00000000-0000-0000-0000-000000000000\11111111-1111-1111-1111-111111111111.dbdata

00000000-0000-0000-0000-000000000000
11111111-1111-1111-1111-111111111111
the values is faked of course.

c:\Users\USERNAME\AppData\Local\Ubisoft Game Launcher\spool\00000000-0000-0000-0000-000000000000\2010.spool
c:\Users\USERNAME\AppData\Local\Ubisoft Game Launcher\spool\00000000-0000-0000-0000-000000000000\101.spool

Where 00000000-0000-0000-0000-000000000000 is a same hash value for this paths.

Also, I'm search on computer for dbdata.dll and it was not found - maybe it used DLL Box feature like VMProtect Ultimate?

Also same hash values is for this locations:
c:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\savegames\00000000-0000-0000-0000-000000000000\ - dir with saves
c:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\cache\settings\00000000-0000-0000-0000-000000000000 - file
c:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\cache\club\00000000-0000-0000-0000-000000000000 - file
c:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\cache\ownership\00000000-0000-0000-0000-000000000000 - file (array with the activation serial inside)

This is file structure of the full game dir:
http://www59.zippyshare.com/v/dWCuMdrb/file.html

The game is activated while first launching automatically, without activation data request, like in Batman Arkham Knight.

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


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

Создано: 6 марта 2016 23:35 New!
Цитата · Личное сообщение · #28

ajax пишет:
--> Real story <--


Цитата: "на краклабе, где, собственно, и отымели разработчиков SecuROM'a."
И да, копать надо в сторону отладки x64..

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

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

**************************
80_PA update #2
**************************


Уже было анонсировано.
[+] Добавлены новые наборы:
Code:
  1. Batman: Arkham Asylum GOTY
  2. BoneTown
  3. J.U.L.I.A.
  4. TRON: Evolution (RUSSIAN)
  5. Manhunt 2
  6. Burnout Paradise: The Ultimate Box
  7. Mercenaries 2: World in Flames
  8. Mirror's Edge
  9. The Godfather II

[*] Некоторые оптимизации и исправления. Обновлены гайды.
[+] В набор добавлен Sony DADC SecuROM vulnerability.pdf

ссылки публикую вверху

| Сообщение посчитали полезным: HandMill, SReg, sefkrd, SharkXXL, VanHelsing, DICI BF



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

Создано: 8 марта 2016 00:57 · Поправил: 8 марта 2016 12:07 Kindly New!
Цитата · Личное сообщение · #30

Far Cry Primal Update 1.1.2
http://www9.zippyshare.com/v/xbcKBkGM/file.html

only updated two files for bin folder from post:
https://exelab.ru/f/index.php?action=vthread&forum=13&topic=19719&page=10#23

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

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

Создано: 8 марта 2016 11:57 New!
Цитата · Личное сообщение · #31

I wanted to know how the protectionid detects the Denuvo's version ("variant", according to software naming order). So, here is what you may see in asm code of it (ollydbg 1.10):
Code:
  1. 00470CB7 |. C605 51C64C00>MOV BYTE PTR DS:[0x4CC651],0x31 
  2. 00470CBE |. 817A 24 80000>CMP DWORD PTR DS:[EDX+0x24],0xC0000080 
  3. 00470CC5 |. 74 34 JE SHORT Protecti.00470CFB 
  4. 00470CC7 |. C605 51C64C00>MOV BYTE PTR DS:[0x4CC651],0x32 
  5. 00470CCE |. 817A 24 80000>CMP DWORD PTR DS:[EDX+0x24],0xE0000080 
  6. 00470CD5 |. 74 24 JE SHORT Protecti.00470CFB 
  7. 00470CD7 |. C605 51C64C00>MOV BYTE PTR DS:[0x4CC651],0x33 
  8. 00470CDE |. 817A 24 80000>CMP DWORD PTR DS:[EDX+0x24],0xC8000080 
  9. 00470CE5 |. 74 14 JE SHORT Protecti.00470CFB 
  10. 00470CE7 |. C605 51C64C00>MOV BYTE PTR DS:[0x4CC651],0x34 
  11. 00470CEE |. 817A 24 80000>CMP DWORD PTR DS:[EDX+0x24],0xE8000080 
  12. 00470CF5 |. 74 04 JE SHORT Protecti.00470CFB

Take a look on offset and you may verify it by yourself (in dump this procedure is crypted, so use dynamic way).
in c code it might be translated as:
Code:
  1. if (1st_section.flag == 0xC0000080) 
  2. return "variant #1" 
  3. if (1st_section.flag == 0xE0000080)
  4. return "variant #2" 
  5. if (1st_section.flag == 0xC8000080) 
  6. return "variant #3" 
  7. if (1st_section.flag == 0xE8000080) 
  8. return "variant #4"

In general, this method of Denuvo's version detection is not accurate. At the same time, protectionid developer has made a huge amount of work, and his software is the only way, for this moment, to detect the presence of Denuvo within executable file.

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

<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 50 . 51 . >>
 eXeL@B —› Протекторы —› Crack SecuROM & DENUVO

Видеокурс ВЗЛОМ