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

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


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

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

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

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

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

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

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

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

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

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

--> Link <--


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

Создано: 12 апреля 2017 15:11 New!
Цитата · Личное сообщение · #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

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

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

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

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

Создано: 16 апреля 2017 12:03 New!
Цитата · Личное сообщение · #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.1 (мудрец)
Статус: Участник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создано: 22 июня 2017 17:29 New!
Цитата · Личное сообщение · #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


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


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

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

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


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

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

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


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

Создано: 6 сентября 2017 19:23 New!
Цитата · Личное сообщение · #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 (посетитель)
Статус: Участник

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

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

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

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

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

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

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

PS.Добавлю для ржаки.Вот так наши "гиганты" генерируют капчу:
<< . 1 . 2 .
 eXeL@B —› Вопросы новичков —› Вопрос касаемо StarForce v3.4

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

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