VMP VMProtect (Туторы, скрипты, плагины, ...)

Rio

Администратор
Администратор
Сообщения
126
Реакции
134
Решил создать отдельную тему по VMProtect'у, чтобы собирать в одном месте информацию по этому проту и обсуждать детали.

Для начала ответ на самый распространенный вопрос.

1. Почему OllyDbg вылетает при запуске программы, защищенной VMProtect'ом?

Потому что VMProtect использует баг с переполнением буфера в старых версиях dbghelp.dll, из-за которого отладчик падает. Чтобы обойти его необходимо исправить баг в dbghelp.dll или положить в папку отладчика новую версию файла dbghelp.dll, который можно взять из комплекта Debugging Tools for Windows:

http://www.microsoft.com/whdc/devtools/ ... fault.mspx

Добавлено

Microsoft включил дистрибутив Debugging Tools в состав пакета Windows SDK (который весит достаточно прилично), поэтому вот альтернативные ссылки на:

1. Дистрибутив Debugging Tools v6.12.2.633 x86 от 26.02.2010 (18,3 Мбайт)
http://www.revenge-crew.com/xchg/kio/Debugging_Tools_for_Windows_v6.12.2.633_x86.msi

2. Только библиотека dbghelp.dll из дистрибутива Debugging Tools v6.12.2.633 x86 (0,5 Мбайт)
http://www.revenge-crew.com/xchg/kio/dbghelp_v6.12.2.633_x86.zip

Темы на форуме -
Патч и кейген RSA в VMProtect 3.x
VMProtect ULTIMATE v3.5.0 Build 1213
Анализ VMProtect c Triton (dynamic binary analysis (DBA) framework)
Inside VMProtect
Vm2Import
Исследование кода VMProtect. Часть 1. Патч хешей
VTIL (Virtual-machine Translation Intermediate Language)
VMProtect Windows API Address Decoder (IDA Pro - Python)
VMProtect xx_vm Chinese Decompiler
Quick PoC for a taint based attack on VMProtect

Сборник версий
Деобфускация VMProtect в IDA Pro используя Qiling Framework
Collection of code for HWID-Locking .NET apps with VMProtect 3.4.0
VMP.NET-Kill V2.1 (VMP 1213-1261)
 
Последнее редактирование:

djeck

Посетитель
Авторы статей
Ветеран
Сообщения
13
Реакции
80
Мой старенький туториал по инлайн патчу VMProtect. Выложу для истории, возможно кому-то пригодится.

Исследование кода VMProtect. Часть 1. Патч хешей.

Туториал состоит из 3 глав.
В первой главе происходит знакомство с протектором VMProtect, обсуждается литература по его распаковке и обсуждается общий план работы, которая будет проделана в последующих главах.
Во второй главе учимся распаковывать VMProtect с помощью OllyDbg и скрипта VMProtect Ultra Unpacker 1.0. После распаковки дорабатываем дамп (проверяем импорт и правим ВМ).
В третьей главе делаем инлайн патч программы, с помощью патча хешей. Рассмотрим несколько вариантов инлайна, а также сделаем инлайн патч к коммерческой программе Movienizer.

Автор: djeck
Год: 2013
Страниц: 75


 

Artrix

Зарегистрированный
Сообщения
7
Реакции
1
Обновите пожалуйста ссылки:

1. Дистрибутив Debugging Tools v6.12.2.633 x86 от 26.02.2010 (18,3 Мбайт)
http://www.revenge-crew.com/xchg/kio/Debugging_Tools_for_Windows_v6.12.2.633_x86.msi

2. Только библиотека dbghelp.dll из дистрибутива Debugging Tools v6.12.2.633 x86 (0,5 Мбайт)
http://www.revenge-crew.com/xchg/kio/dbghelp_v6.12.2.633_x86.zip

В шапке нет возможности скачать (файлы не скачиваются).
 
  • Понравилось
Реакции: mak

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
@Artrix, это был старый пост кажется, актуальные линки - https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/, а там https://go.microsoft.com/fwlink/p/?linkid=2120735, 700 метров архив, внутри есть X64 Debuggers And Tools-x64_en-us и X64 Debuggers And Tools-x86_en-us, после установки в папке C\Program Files (x86)\Windows Kits\10\Debuggers\x64 или х86 есть всё (y)

А шапку нужно обновить :)(y)
 

=TS=

Новичок
Наставник
Сообщения
6
Реакции
26
Сборник разных версий WinDbg
 
  • Понравилось
Реакции: mak

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
Vm2Import - https://github.com/nblog/Vm2Import
fix vmprotect import function used unicorn-engine.

it can repair functions such as call [module.function] or jmp [module.function] or reg(mov) [module.function] that are statically imported by the VM.

it is effective in vmp2 and vmp3.

Use
  1. copy to x64dbg
x64dbg\release\x32\plugins\unicorn.dll
x64dbg\release\x32\plugins\Vm2Import.dp32

x64dbg\release\x64\plugins\unicorn.dll
x64dbg\release\x64\plugins\Vm2Import.dp64
  1. select "VM_Start" call vmp0.xxxxxxxx, right click menu "Vm2Import"->"Fix Import Call Address"
 

ChVL

Зарегистрированный
Сообщения
7
Реакции
9
Осмелюсь предложить в шапке сделать раздельчик "Полезные инструменты", куда собрать ссылки, по которым можно скачать статические или последние версии оных.
Например.

x64dbg x64/x32 debugger for Windows. Download Latest Version: https://sourceforge.net/projects/x64dbg/files/snapshots
Current version 2021-02-09_17-28

ScyllaHide Download Latest Version: https://github.com/x64dbg/ScyllaHide/releases
Current version 2021-01-26_02-47-19

TitanEngine Download Latest Version: https://github.com/x64dbg/TitanEngine
Current version 2.0.3
 

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
@Rio, мне кажется, лучше оставить всё в одном топике, т.к. топик по этим инструментам уже есть - x64dbg отладчик, другое дело его дополнить.
 

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
Microsoft включил дистрибутив Debugging Tools в состав пакета Windows SDK (который весит достаточно прилично), поэтому вот альтернативные ссылки на:

1. Дистрибутив Debugging Tools v6.12.2.633 x86 от 26.02.2010 (18,3 Мбайт)
http://www.revenge-crew.com/xchg/kio/Debugging_Tools_for_Windows_v6.12.2.633_x86.msi

2. Только библиотека dbghelp.dll из дистрибутива Debugging Tools v6.12.2.633 x86 (0,5 Мбайт)
http://www.revenge-crew.com/xchg/kio/dbghelp_v6.12.2.633_x86.zip
Уже же есть начало .. осталось добавить немного и дополнить другой топ. Инструментов мало и эти топики уже есть на форуме.
 

ChVL

Зарегистрированный
Сообщения
7
Реакции
9
Vm2Import - https://github.com/nblog/Vm2Import
fix vmprotect import function used unicorn-engine.
Есть ещё с картинками: https://githubmemory.com/repo/win18216001/Vm2Import
Помогите, пожалуйста, разобраться в этом чуде.
Исследуемая программа под VMProt 3.0, секция кода закриптована, предварительно отключена проверка CRC.

Читаем Use.
п. 1. - проблем нет.
п. 2. select "VM_Start" call vmp0.xxxxxxxx
Не знаю, что имели ввиду китайцы, я же понял это так:
- загружаем прогу в dbg;
- запускаем (F9) до полной загрузки;
- открываем Карту памяти, находим .vmp0 -> ПК -> Перейти к дизассемблерному коду.
Далее в соответствии с продолжением п. 2:
- в коде .vmp0 выделяем строку с Call;
- ПК -> "Vm2Import" -> "Fix Import Call Address".

В результате в статусной строке dbg (слева внизу) имеем сообщение: "invalid selected address."
Пробовал две разные проги, какие только варианты не мучил... Или зря? VMProt 3.0 уже не берёт?
Где копать?
 

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
п. 2. select "VM_Start" call vmp0.xxxxxxxx
Не знаю, что имели ввиду китайцы, я же понял это так:
- загружаем прогу в dbg;
- запускаем (F9) до полной загрузки;
- открываем Карту памяти, находим .vmp0 -> ПК -> Перейти к дизассемблерному коду.
"VM_Start" это точка входа в саму ВМ из секции кода в секцию vmp0.xxxxxxxx, этих точек может быть много, можно VTIL взять, там кажется есть перечисление всех точек входа - VTIL (Virtual-machine Translation Intermediate Language)
 
  • Понравилось
Реакции: ChVL

ChVL

Зарегистрированный
Сообщения
7
Реакции
9
"VM_Start" это точка входа в саму ВМ из секции кода в секцию vmp0.xxxxxxxx
Спасибо за подсказку!
Перечень всех точек входа я получил, и их там... более 5000! Пока не разобрался, что с этим добром делать. Править вручную все - это как бэ не комильфо, но Vm2Import подразумевает именно так, по одной (и он это исправно делает), ибо никаких опций нет. Реальный вариант, если не все надо править, а только в определенной области .vmp0. Может только то, что входит в IAT? - Но как-то не логично...
 
Верх Низ