Сейчас на форуме: _MBK_ (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Обход антиотладки, снятие дампа и распаковка VM Protect (unpackme) |
Посл.ответ | Сообщение |
|
Создано: 02 февраля 2011 12:35 · Поправил: valot · Личное сообщение · #1 Добрый день! Пытаюсь снять работающий дамп для одной программы, запакованной VM Protect. Нашёл следующие темы: VMProtect (Туторы, скрипты, плагины, ...) VMSweeper - Декомпилятор ВМ VMPDebugger - пошаговый отладчик виртуальной машины VMProtect antidebug trouble - обсуждение конкретных вопросов и Скрипт для обхода антиотладки VMProtect под Windows 7. и VMProtect API Turbo Tracer 1.2 - скрипт для распаковки, примеры и т.п. от LCF-AT Сразу сделать дамп работающим не получилось, поэтому пошёл по долгому пути и начал экспериментировать, сделал unpackme, который и предлагается вашему вниманию (во вложении). Упакована вот эта программа --> Link <--. Изучаем: Есть файл - file_vmp.exe Пытаемся определить, чем упакован: protection iD v0.6.4 говорит Scanning -> file_vmp.exe File Type : 32-Bit Exe (Subsystem : Win CUI / 3), Size : 270398 (04203Eh) Byte(s) -> File has 62 (03Eh) bytes of appended data starting at offset 042000h [File Heuristics] -> Flag : 00000000000000001100000000000111 (0x0000C007) [CompilerDetect] -> Visual C++ 6.0 [!] File appears to have no protection or is using an unknown protection - Scan Took : 0.730 Second(s) Не признают протектор и моя версия PEiD. Название файла подсказывает, что речь идёт о VMProtect. Попробуем сразу наброситься на него с помощью VMPDebugger. Но он не признаётся о наличии виртуальной машины. Конечно, если просто запустить программу, то она выведет сообщение, что защищена демо версией VMProtect, но это может быть всего лишь уловкой ![]() Запускаем OllyDbg (стоят ODbgScript, OllyDump, PhantOm, StrongOD), загружаем файл и жмём F9 - программа запускается (появилось консольное окно со строкой "Server started......."). Если ругается на отладчик, то, видимо, нужно обновить dbghelp.dll, установить патч int для Olly, настроить StrongOD или PhantOm). Пробуем воспользоваться скриптами от LCF-AT. версии 1.0, 1.1, 1.2 скрипта при работе обнаруживаются протектором и выводится сообщение: a debugger has been found running in your system. версия 1.3 просит сообщить ей о секциях VMProtect. Если посмотрим на память процесса, то от VMProtect там секции .rdata0, .rdata1, .rdata2. Если их ввести на соответствующие запросы скрипта, то получим сообщение "Message=Canґt find >>> VMPROTECT <<< section!". Если посмотреть на секцию .text основного кода по адресу 401000, то можно увидеть, что, возможно, ничего не зашифровано (вызовы ws2_32, пролог PUSH EBP; MOV EBP,ESP; SUB ESP, 48...), а вся "распаковка", если есть, занимается самим упаковщиком. Пока ещё нет информации, используется ли виртуальная машина. Если поставить точку прерывания на прологе, то после запуска по f9 получим сообщение об ошибке "File corrupted! This program has been manipulated and maybe it's infected by a Virus or cracked. This file won't work anymore." Стоит задача: сделать работающий дамп этой программы. Почему версия 1.3 скрипта от LCF-AT ругается "Message=Canґt find >>> VMPROTECT <<< section!"? Как её проще всего подправить, чтобы заработала? P.S. размышлял над разделом форума, но как новичок - остановился на этом ![]() ![]() |
|
Создано: 02 февраля 2011 17:07 · Поправил: SReg · Личное сообщение · #2 valot пишет: Стоит задача: сделать работающий дамп этой программы. Unpacked ![]() ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Обход антиотладки, снятие дампа и распаковка VM Protect (unpackme) |