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

mak

Соломенные сандалии
Администратор
Сообщения
695
Реакции
411
@ChVL, Привет,

об этом стоит написать сюда - https://github.com/nblog/Vm2Import/issues, как вариант можно сделать отдельную длл с экспортом для подключения в свой плагин, делать метки "VM_Start" из сформированного MAP файла, добавить в свой плагин или попросить и написать в issues, чтобы добавили свою функцию поиска всех VM_Start и уже далее меню выбора в виде чекбокса, какие обрабатывать, а какие нет. Поиск VM_Start должен быть базовым функционалом в подобных плагинах, так было всегда. Виртуальная функция логически та же процедура, тогда возникает вопрос, без вм я тоже могу восстановить всю обфускацию IAT только по одной функции?!

Может только то, что входит в IAT? - Но как-то не логично...
Это логично, при условии, что мы знаем в киких виртуальных фунциях есть вызов АПИ, кроме этого нужно сопоставить "VM_Start" и Call Graph c результатами покрытия ВМ, что двойная работа, т.е. нужно проверять каждую функцию отдельно. Теоретически сопоставление можно сделать в Иде, посмотри топик - VMProtect Windows API Address Decoder (IDA Pro - Python), но предварительно лучше иметь очищенный код от мусора.

Проект Vm2Import начинался как концепт, поэтому указать на такой функционал автору - это дело чести (y)

В теме VTIL (Virtual-machine Translation Intermediate Language) есть ещё
Ещё одна утилита на базе VTIL:

vmpdump
A dynamic VMP dumper and import fixer, powered by VTIL.
 
  • Понравилось
Реакции: ChVL

ChVL

Зарегистрированный
Сообщения
7
Реакции
11
Тема выглядит заброшенной, но самое интересное то, что 4 марта был задан вопрос именно о том, что Вы сейчас обозначили: " please provide full source code to automate it with x64dbg plugin for all the calls and jmp to obfuscated import calls." Жаль, что нет никакой реакции и, похоже, не дождёмся. Пессимизм добавляет нулевой результат поисков хоть чего-то по Vm2Import. Так что придётся искать и протаптывать другой путь реанимации дампа после убийства ВМ.

vmpdump смотрел, но там изначально всё заточено " for VMProtect 3.X x64. "
 

mak

Соломенные сандалии
Администратор
Сообщения
695
Реакции
411
@ChVL, автор и ранее редко заходил, можно написать для тусовки и ждать ответа.
 

ChVL

Зарегистрированный
Сообщения
7
Реакции
11
GH VMProtect 3 Import Fixer 1.0.1 x86 & x64

The import protection feature from VMProtect makes the process of recovering the imports difficult. This tool makes it easier. It goes through all the calls to imported functions and fixes them.

You just need to open it, insert the process and the module names and wait until it finishes. After that, just copy the new IAT start and size to your favourite import reconstructor tool and rebuild the PE file.

По этому описанию сабж обещает именно то, чего не хватает в развитии Vm2Import. Потестим.

Скачать можно отсюда: https://www.soft9.ru/App/GH_VMProtect_3_Import_Fixer_1.0.1.rar

Нашёл на сайте Guided Hacking https://guidedhacking.com
Cкачивать оттуда на халяву не дают, пришлось дотировать и перезалить. Есть возможность сделать ещё 14 скачиваний - сообщите, кому что надо. Сайт может быть интересен специалистам по игрушкам, но есть и общие разделы по хакингу, такие как tools и tutorials. Видел, например, это:
The Guided Hacking Injector is the best DLL injector, it has a very rich feature set and is frequently updated. Our injector has over 40,000 downloads and has been thoroughly tested.
 

mak

Соломенные сандалии
Администратор
Сообщения
695
Реакции
411
ZVM - пакет для изучения и практики по VMP2, сорсы и пример, док на Драконском.
 

Прикрепленные файлы:

mak

Соломенные сандалии
Администратор
Сообщения
695
Реакции
411
VmpGetHWID - может быть полезен
 

Прикрепленные файлы:

mak

Соломенные сандалии
Администратор
Сообщения
695
Реакции
411
Плагин и Сорсы для OllyDBG, цель VMP2 - Unpacking VMProtect With ODPlugin
Для просмотра содержимого вам необходимо Войти в систему.
 

mak

Соломенные сандалии
Администратор
Сообщения
695
Реакции
411

Прикрепленные файлы:

plutos

_Вечный_Студент_
Мудрец
Сообщения
95
Реакции
585
можно добавить гитсорсы ещё - https://githacks.org/vmp2
Так там же ссылка на github на четвертой строчке в самом верху страницы:
Download link: VMProtect 2 Reverse Engineering

может у кого-нибудь есть binaries or sources, которые он испoльзует для примеров?
Его _xeroxz@back.engineer не отвечает, и tweeter message принимает...
 
Последнее редактирование:

plutos

_Вечный_Студент_
Мудрец
Сообщения
95
Реакции
585
в статье про VMProtect 2 (см. ссылку выше) автор пишет:

It can be difficult to determine what code is deadstore and what code is required, however if you select a register in ida and look at all the places it is written to prior to the instruction you are looking at, you can remove all of those other writing instructions up until there is a read of said register.

Вопрос: как это сделать в IDA? Искал, но все что-то не про то...
 
Последнее редактирование:

elpy

Зарегистрированный
Сообщения
5
Реакции
2
в стаье про VMProtect 2 (см. ссылку выше) автор пишет:

It can be difficult to determine what code is deadstore and what code is required, however if you select a register in ida and look at all the places it is written to prior to the instruction you are looking at, you can remove all of those other writing instructions up until there is a read of said register.

Вопрос: как это сделать в IDA? Искал, но все что-то не про то...
в IDA нельзя удалить байты
можно, выделив строки с мусорными инструкциями, свернуть их Ctrl+Numpad-
можно просто занопить
 

plutos

_Вечный_Студент_
Мудрец
Сообщения
95
Реакции
585
в IDA нельзя удалить байты
не понял. Где я спрашиваю про "удаление байтов"?
Вы мой вопрос читали? Если читали, то поняли?

My question:
how to select a register in ida and look at all the places it is written to prior to the instruction you are looking at.
 
Последнее редактирование:

machine

Зарегистрированный
Сообщения
2
Реакции
0
Исследование кода VMProtect. Часть 1. Патч хешей.
Здравствствуйте djeck, в туториале написано что в архиве имеется отладчик ollydbg (пропатченный) с скриптами, а его там нет...
Хотелось бы использовать теже инструменты как в статье (для чистоты эксперимента).
 

plutos

_Вечный_Студент_
Мудрец
Сообщения
95
Реакции
585
VMProtect 2 virtual instruction assembler (vmassembler) v1.2 is now public.
You can now assemble any virtual instructions defined by vmprofiler and execute them inside of your own applications!

_xeroxz have also added label support to the assembler: here
 
Последнее редактирование:

plutos

_Вечный_Студент_
Мудрец
Сообщения
95
Реакции
585
Quick look around VMP 3.x - Part 3
В этой серии статей, если я правильно понял, автор накрывает свои sample files VMP 3.x и потом исследует результат.
Смотреть пассивно на screenshots как-то скучно, да и непонятно порой что откуда берется.

Я взял свой sample, простую программку на "С", вставил маркеры и накрыл. Но мои результаты какие-то совсем другие, мало похожие на результаты из статьи.

Так вот, собственно вопрос:
кто-нибудь видел оригинальные исходные файлы, над которыми автор экспериментирует?
Может в самой статье есть ссылка, которую я проглядел?
Или, есть ли способ самому создать "исходный файл", путем максимального приближения наугад к тому, что автор мог иметь?
Заранее спасибо!
 
Последнее редактирование:
Верх Низ