Сейчас на форуме: tyns777, cppasm, dutyfree (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Вопрос касаемо StarForce v3.4
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 1.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 18 февраля 2017 19:29
· Личное сообщение · #1

Ребята всех приветствую, столкнулся с проблемой запуска контента с данной системой защиты, к сожалению cracked exe не существует для данного случая, по этой причине пришел на ваш форум с таким как возможно вам покажется глупым вопросом так как тема не раз обсуждалась, перечитав весь материал находящийся в открытом доступе в том числе на данном форуме ответа конкретного для себя не нашел

Конечная цель снятия защиты конкретно с данного exe, к сожалению железа которое бы поддерживало запуск WindowsXP не имею (для обхода защиты путем эмуляции)

Прошу вас подсказать кому это будет не сложно, возможно есть туториалы шаг в шаг по взлому данной версии защиты, либо инструменты которые применялись на практике, имею достаточный опыт программирования но реверсингом и опыта использования дизасемблеров не имею.
И каков общий ход процесса взлома StarForce v3?
Насколько я понимаю это чтения потоковых данный с exe далее запуск контента с процессом чтения дампа памяти, поиск потоков StarForce в дампе, чистка кода от потоков и методов StarForce? Основной код защищаемого StarForce продукта храниться в основном exe программы или может быть распределен между main.exe и protect.dll?

Ниже по ссылки прилагаю исполнимые файлы интересующего меня контента, так как предполагаю что метод шифрования защитой StarForce v3.4 может отличаться в различных версиях защищаемого ПО.

--> Link <--




Ранг: 307.9 (мудрец), 196thx
Активность: 0.180
Статус: Участник

Создано: 12 апреля 2017 15:11
· Личное сообщение · #2

Игры от ePlay, Новый Диск: v5.70.010.005, 11.02.10; v5.70.021.004, 16.03.11 FL ProActive.
ASPack: v2.38 (8-Jul-2015) = v5.91.001.000, 08.07.15 SF ProActive
v2.40 (29-Sep-2016) = v5.91.1602.30, 17.10.16 SF ProActive

-----
Don_t hate the cracker - hate the code.




Ранг: 35.8 (посетитель), 23thx
Активность: 0.030
Статус: Участник

Создано: 12 апреля 2017 17:16
· Личное сообщение · #3

mysterio, спасибо.
Игры походу надо искать по торрентам, на оффсайте еплэя вижу только кнопку купить, подозреваю что после покупки отправят качать со стима.
Аспак и аспр интереснее. Оба идут как демо, но аспак можно зарегать после окончания триала, а аспр - нет. Чуйка есть что и на аспре демка "искусственная", так ли это или есть недостача функционала?
На аспак, кстате, есть анпак, так что там наверно довольно простая версия.



Ранг: 35.8 (посетитель), 23thx
Активность: 0.030
Статус: Участник

Создано: 16 апреля 2017 12:03
· Личное сообщение · #4

А aspack оказался не прост. Во-первых, путанка с версиями - на сайте сказано 2.40, в самом файле 2.41. Походу пересобирали после появления анпака 2.40.
Во-вторых, применена виртуализация некоторых функций, в основном относящихся к заблокированным возможностям в триальном режиме.

Итак, версия 2.41 (sha-1: FBDDDAB52FF358ABB3E5FE87BD1BD9B20369D214).
OEP: 0046A104. Просто снял дамп, импорт подхватился как есть, только удалил ссылку на aspack.dll.
Однако дамп не взлетит, потому что код украден. Сразу недалеко от оеп:
Code:
  1. 0046A131: CALL 00469E0C
  2. ...
  3. 00469E0C: JMP DWORD PTR DS:[46F020]


Краденый код:
Code:
  1. 00469E0C    55              PUSH EBP
  2. 00469E0D    89E5            MOV EBP,ESP
  3. 00469E0F    8B0D 98CF4600   MOV ECX,DWORD PTR DS:[46CF98]
  4. 00469E15    A1 5CD04600     MOV EAX,DWORD PTR DS:[46D05C]
  5. 00469E1A    8B00            MOV EAX,DWORD PTR DS:[EAX]
  6. 00469E1C    8B15 14594600   MOV EDX,DWORD PTR DS:[465914]


После освобождения этого кода дамп начинает "работать" - отображает окно, можно тыкать кнопки, но ерроров быть не должно, а они есть.
Первый раз еррор возникает здесь:
Code:
  1. 00466CC7      B8 01000000    MOV EAX,1
  2. 00466CCC      E8 57F7FFFF    CALL 00466428
  3. 00466CD1      84C0           TEST AL,AL
  4. 00466CD3      74 08          JE SHORT 00466CDD


В функе 00466428 украден примерно такой код:
Code:
  1. push ebp
  2. mov ebp, esp
  3. push ecx
  4. push ebx
  5. mov ebx, eax
  6. lea eax, [ebp - 4]
  7. push eax
  8. call aspack_dll.PSA_GetFeaturesGrantedByLicense
  9. test eax, eax
  10. jnz 00466448
  11. mov eax, [ebp - 4]
  12. and eax, ebx


Примерно, потому что не хватает двух байт, может что то упустил, может макрос PSA_GetFeaturesGrantedByLicense был как то по другому развернут. Не суть. Суть в том, что функа должна вернуть True, если лицензия позволяет выполнить действие, и False, если нет. Возвращать True пока смысла нет, потому что запрашиваемые действия тоже виртуализированы, поэтому "xor eax, eax/ret".

Теперь файл успешно запускается и пакует другие файлы, счетчик триала застыл. На этом пока интерес поугас, доводить до полной работоспособности лень.

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

Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 12 июня 2017 13:45 · Поправил: vnekrilov
· Личное сообщение · #5

Решил запостить мой вопрос в этом топике. Столкнулся с проблемой получения дампа VM StarForce, поскольку туторов по этому вопросу не нашел. Правда нашел ссылки, что все эти туторы - приватные, и на паблик не выкладываются. Может ли кто поделиться приватно этими туторами?



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 20 июня 2017 06:29
· Личное сообщение · #6

Огромное спасибо всем, кто откликнулся на мою просьбу по поводу статей относительно получения дампа VM StarForce, и прислал мне статьи. Но, к сожалению, нет статьи "Склеивание дампа вм и распакованного exe игры". Если она есть у кого-либо, просьба прислать мне ее в личку. И заранее премного буду благодарен...



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 20 июня 2017 11:51
· Личное сообщение · #7

В 90% случаев дорисовывать секцию вм не надо. Просто фишка в том, что дебилы лепили старфорс даже на демки своих поганых игр, так как боялись за свои говнокоды.Снимать старфорс ради просто снятия - это тупо.Из игр надо выдергивать все возможные потроха.

-----
TEST YOUR MIGHT




Ранг: 1.4 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 22 июня 2017 01:05
· Личное сообщение · #8

а как вытащить код из под вм - функции , которые были скомпилированы в пикод?



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 22 июня 2017 10:22
· Личное сообщение · #9

Klerk пишет:
а как вытащить код из под вм - функции , которые были скомпилированы в пикод?

Выявляешь обработчик каждой команды ВМ и делаешь трейс P-кода, например используя PIN Tool или подобные средства. После этого чистишь трассу от мусорных команд и развернутых циклов.



Ранг: 35.8 (посетитель), 23thx
Активность: 0.030
Статус: Участник

Создано: 22 июня 2017 17:29
· Личное сообщение · #10

обработчик каждой команды ВМ
ВМ СФ уже давно не попадает в раздел "классических". Байткод конпелируется с оптимизацией (привет llvm?) в блоки вида:
Code:
  1. MOV EAX,EAX                              ; push ebp
  2. PUSH DWORD PTR DS:[EDI+1C8]
  3. MOV EDX,4
  4. MOV ECX,DWORD PTR DS:[EDI+3E04]
  5. SUB ECX,EDX
  6. MOV DWORD PTR DS:[EDI+57E4],ECX
  7. MOV DWORD PTR DS:[EDI+0B3B8],ECX
  8. MOV EBX,DWORD PTR DS:[EDI+7E04]
  9. MOV EAX,5AC8D3E5
  10. MOV DWORD PTR DS:[EDI+49B0],EAX
  11. XOR EBX,EAX
  12. MOV DWORD PTR DS:[EDI+0C2C8],EBX
  13. CALL 6F1C708E
  14. POP EDX
  15. MOV ECX,EBX
  16. OR EBX,EAX
  17. AND EAX,ECX
  18. CMP ECX,EBX
  19. JBE lbl
  20. lbl:
  21. ADD EDX,0C9F82
  22. JMP EDX


Что делать в таком случае?




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 22 июня 2017 19:17 · Поправил: mak
· Личное сообщение · #11

Psalmopoeus Pulcher пишет:
обработчик каждой команды ВМ
ВМ СФ уже давно не попадает в раздел "классических". Байткод конпелируется с оптимизацией (привет llvm?) в блоки вида:


Смотря как смотреть, классически для защиты нет, тогда никто не думал о процессах оптимизации в рамках защиты софта. Хотя сама теория уже была разработана в книгах по математике интерпретаторов. Эта техника называется - VM Superinstruction, инет завален информацией по теме, кроме этого чаще всего в таких блоках используют Stack-Caching. Вариантов суперинструкций тоже хватает, есть статические, есть динамические реализации, есть комбинации, есть микро и макро вариации, почти все варианты которые входят в виды ВМ, могут быть трансформированы в Суперинструкции. Разбираются они почти так же, как и остальная ВМка, т.к. хэндлеры заимствуют из ВМ стандартной, ещё в 2005 году уже были статейки, где весьма хорошо разобрали эти инструкции, уже тогда люди уловили разницу =) Мне кажется разбирать суперинструкции проще, т.к. они используются реже в силу своей сложности и цели, чем простые вм хэндлеры, чтобы противостоять этому добавляют динамику и технику фовардинга, декрипт и динамический кэш, но это не спасает ситуацию, т.к. на деле мы имеем простой ВМ морфинг Минус в том, что если хэндлеры были не стандартные, то и разбор по времени занимает больше, кроме этого, если таких инструкций много, это добавляет мороки, так как люди это вручную не делают, кроме ярых лоу кодеров , то разбор остаётся даже более простым, чем разбор простых хэндлеров. Зная все эти факты, уже проще изучать подобный код.

P.S. LLVM одна из многих систем, которая использует суперинструкции, но не единственная.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube


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

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

Создано: 06 сентября 2017 19:23
· Личное сообщение · #12

Дабы не создавать новую тему напишу тут: сейчас ковыряю Starforce 5.60 на примере игры Xenus 2 белое золото с патчем 1.1 защита 5.60.1.29 защищены 3 dllки game.dll, vital.dll, VELoader.dll. Файлы защиты protect.dll, protect.exe и protect.x86 накрыты upxом после распаковки которого игра выдает ошибку "модуль protect.dll был изменен, возможно он поврежден или заражен вирусом ...итд" вопрос: как это обойти может кто подскажет? винда 7 х64 поэтому действовать будут через х64dbg спасибо!



Ранг: 35.8 (посетитель), 23thx
Активность: 0.030
Статус: Участник

Создано: 06 сентября 2017 19:42 · Поправил: Psalmopoeus Pulcher
· Личное сообщение · #13

ReloadUGunz пишет:
как это обойти

MapViewOfFile в protect.dll, от нее пляши.



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 07 сентября 2017 11:16 · Поправил: unknownproject
· Личное сообщение · #14

ReloadUGunz пишет:
винда 7 х64 поэтому действовать будут через х64dbg

Хохма. Xenus 2 для 32 битных процов разрабатывался, если что. 64 битную архитектуру на момент его выхода активно не использовали, потому что больше 4 гигов рамы было слишком жирно по кэшу (это бабло, если что), да и нечем было ее занимать с той говеной графикой нулевых. В играх так ее только начали использовать за последние три года, хотя кор2дуо и аналогичным процам от амд с поддержкой 64битных инструкций уже по 12 лет как минимум. Отладчик юзают по разрядности проги, а не системы. Использование же 64 битной системы на это никак не влияет, скорее только плюсы дает.

PS.Добавлю для ржаки.Вот так наши "гиганты" генерируют капчу:


-----
TEST YOUR MIGHT



<< . 1 . 2 .
 eXeL@B —› Вопросы новичков —› Вопрос касаемо StarForce v3.4
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати