[!] .NET: Исправлено множество ошибок
[!] ELF: Исправлена ошибка, возникающая в VMProtectGetCurrentHWID при получении информацуии о HDD
[+] .NET: Добавлена поддержка .NET Core (3.0+) и .NET Standard (2.1+)
[+] .NET: Добавлена защита импорта
[+] .NET: Добавлена защита ресурсов
[+] .NET: Добавлена поддержка mixed assemblies
[*] Mach-O: Улучшена поддержка секций с типом S_THREAD_LOCAL_VARIABLES и S_THREAD_LOCAL_REGULAR
[*] Mach-O: Улучшена поддержка Objective-C
[*] ELF: Улучшена поддержка релокейшенов с типом R_386_PC32
[*] PE: Улучшена антиотладка
[!] Исправлена ошибка возникающая при виртуализации команд BT [m16], POP [m64]
[+] Добавлена поддержка .NET приложений
[+] Добавлено дизассемблирование команды PMULLD
[+] PE: Добавлена поддержка COFF символом
[*] ELF: Улучшено дизассемблирование of SWITCH
[*] ELF: Улучшена поддержка настраиваемых элементов с типом R_386_PC32
[*] PE: Улучшена обработка исключений
[*] PE: Улучшена поддержка Windows Server 2016 Datacenter
[+] PE: Added support of "Control Flow Guard"
[+] PE: Added support of PDB files for loading symbols
[+] Mach-O: Added support of OS X 10.13 and later
[+] ELF: Added support of statically linked libstdc++.so
[+] ELF: Added support of CentOS 5 and CentOS 6
[+] ELF: Added support of TLS segments
[+] ELF: Added support of HTTPS for VMProtectActivateLicense
[*] PE: Improved exception handling for x64 applications
[*] PE: Improved detection of virtualization tools under the Hyper-V role
[*] PE: Improved demagling of MSVC symbols
[*] Mach-O: Improved exception handling
[*] Mach-O: Improved support of Objective-C
[*] ELF: Fixed a bug that occurred when the "Pack the Output File" option was used
[!] PE: Исправлена ошибка возникающая при вызове VMProtectIsValidImageCRC внутри защищенного драйвера
[!] Исправлена ошибка возникающая при виртуализации команд XOR, имеющей настраиваемые элементы
[*] PE: Добавлена упаковка секций, содержащих TLS директорию
[*] PE: Улучшено обнаружение отладчиков
[*] PE: Taggant System больше не поддерживается
[*] Значительно ускорена распаковка при использовании опции "Упаковать файл"
[+] Добавлена поддержка ELF формата
[+] Добавлено дизассемблирование AVX команд
[!] Исправлена ошибка возникающая при дизассемлировании команды MOVUPS с REX префиксом 0x41
[!] Исправлена ошибка возникающая при виртуализации команд XLAT, FSIN и POPAD
[*] Улучшена поддержка исключений
[*] Улучшена архитектура ВМ
[*] Улучшена проверка целостности файла на диске при использовании опции "Защита памяти"
[*] Улучшена виртуализация команд FSTENV, FSTCW, FSAVE и FSTSW
[*] PE: VMProtectActivateLicense теперь работает через WinHTTP и использует настройки прокси из IE
[*] PE: Улучшена работа VMProtectGetCurrentHWID для драйверов
[*] PE: Улучшена поддержка Delphi 6 при использовании опции "Защита импорта"
[*] PE: Улучшено обнаружение отладчиков
[+] Добавлена виртуализация команд ADD, AND, SUB, XOR, OR с префиксом LOCK
[+] Добавлена виртуализация команды CQO
[+] Добавлено дизассемблирование команд PINSRB, PINSRD, PINSRQ, PMINSD, PMINUW, PMINUD, PMAXSB, PMAXSD, PMAXUW и PMAXUD
[+] Mach-O: Добавлена поддержка секции "__unwind_info"
[+] Mach-O: Добавлена поддержка LC_LOAD_WEAK_DYLIB
[+] Mach-O: Добавлена поддержка Delphi Berlin
[+] PE: Для драйверов добавлена поддержка Windows 10
[+] PE: При использовании опции "Удалять отладочную информацию" теперь затирается "Rich Header"
[+] Ultimate: В секции "Файлы" теперь можно создавать папки и использовать символы ".." для перехода в вышестоящий каталог
[+] GUI: При отображении защищаемых ANSI строк теперь используется кодовая страница из настроек Windows
[+] LUA: Добавлена возможность вызова функций из DLL
[*] PE: Добавлена поддержка исключений в x64 коде
[*] Mach-O: Добавлена поддержка функций SDK
[*] Ultimate: Добавлена поддержка функции лицензирования для драйверов и приложений на VB6
[*] Ultimate: Улучшена функциональность DLL Box - теперь в защищаемое приложение можно включать любые файлы, в том числе и ActiveX серверы с опцией их автоматической регистрации в виртуальном реестре
[*] Улучшено обнаружение Virtual Box
[*] Скриптовый движок заменен на LUA
[*] Новая архитектура ВМ
[+] В SDK добавлена новая функция VMProtectIsProtected
[!] PE: Добавлена поддержка Delay Import
[!] PE: Улучшена совместимость с VS2012
[!] PE: Улучшена совместимость с Embarcadero RAD Studio XE3
[!] PE: Улучшена совместимость с MinGW
[!] Ultimate: Улучшена совместимость DLL Box с Windows 8
[+] WebLM: Добавлена поддержка mbstring.func_overload = 2
[+] WebLM: В коде активации добавлено поле "Дата окончания"
(VMProtectActivateLicense теперь может возвращать
ACTIVATION_EXPIRED если текущая дата больше даты окончания)
[+] WebLM: В моде для полей "Дата окончания" и "Максимальная дата
сборки" добавлено значение "дней с даты покупки"
[!] PE: Исправлены ошибки, возникающие в x64 приложениях
[!] PE: Исправлена ошибка, возникающая при наличии у приложения
флага IMAGE_DLLCHARACTERISTICS_NX_COMPAT
[+] PE: Добавлена поддержка Windows 8
[+] WebLM: Добавлен русский и китайский язык
[!] Исправлена ошибка, возникающая при использовании упаковки в х64
приложениях
[!] PE: Исправлена ошибка, возникающая при использовании опции
"Защита
импорта"
[!] PE: Исправлена ошибка, возникающая при обработке TLS секции,
имеющей релоки
[+] Ultimate: Добавлена активация/деактивация
[+] Mach-O: Добавлена упаковка
[*] PE: Поддержка DriverVerifier
[*] PE: Улучшена поддержка SEH для MSVC
[*] Mach-O: Улучшена поддержка IndirectSymbols
[!] Исправлена ошибка, возникающая при использовании опции
"Защита
ресурсов"
[!] Исправлена ошибка, возникающая при использовании опции
"Защита
импорта"
[!] Исправлена ошибка, возникающая при защите x64 драйверов, не
имеющих релоков
[+] Добавлена поддержка исполняемых файлов от Mac OS X (Mach-O
формат)
[+] Добавлена поддержка команды HLT
[+] В SDK добавлено новое API - VMProtectFreeString
[*] Улучшено опеределение имен маркеров и строк, помеченных с
помощью VMProtectDecryptStringA/VMProtectDecryptStringW
[*] В имени выходного файла и параметрах лицензирования теперь
можно использовать относительные пути
[*] Улучшена поддержка SEH для Delphi
[*] SenseLock Edition: Добавлена опция "Защита
ресурсов"
[*] SenseLock Edition: В GUI версии добавлен менеджер лицензий
[*] SenseLock Edition: В GUI версии добавлено программирование ключей
[*] Лицензии в менеджере лицензий теперь можно копировать и
вставлять из буфера обмена
[!] Исправлена ошибка, возникающая при обнаружении отладчика
под Windows 2000
[!] Исправлена ошибка, возникающая при дизассемблировании команд
PMULHUW и LDMXCSR
[!] Исправлена ошибка, возникающая при использовании защиты памяти (не
проверялась целостность файла на диске)
[!] Ultimate: Исправлена ошибка, возникающая при запуске
защищенных файлов под Windows 2000 (требовалось наличие
EncodePointer/DecodePointer из kernel32.dll)
[*] Улучшена виртуализация обработчиков исключений для Visual
C
[*] Защита
ресурсов теперь доступна в Lite и Professional версиях
[*] При использовании защиты ресурсов
добавлена поддержка EnumResourceTypes, EnumResourceNames и
EnumResourceLanguages (доступно только при вызове из главного
модуля)
[+] Добавлена поддержка исключений для Borland C Builder
[+] Ultimate: Ускорена работа VMProtectGetSerialNumberState
и VMProtectGetSerialNumberData
[+] В скрипт для TLicenseManager добавлен
метод Save
[-] Убрана опция "Перемещать ресурсы в конец файла" - теперь
секция ресурсов всегда размещается последней
[!] Исправлена ошибка, возникающая при ассемблировании команды
TEST [XXXX], REG
[!] Исправлена ошибка, возникающая при диассемблировании х64
команд с префиксом 0x67
[*] Улучшена поддержка файлов, имеющих небольшие занчения для
SectionAlignment
[*] Улучшено опеределение имен маркеров и строк для Intel
Compiler 12 и Lazarus
[*] Улучшена защита
импорта
[*] Ultimate: Теперь можно загружать файлы проекта с параметрами
лицензирования
[+] Ultimate: Добавлена защита ресурсов
[+] Ultimate: В скрипт добавлены классы TLicense и TLicenseManager
[!] Исправлена ошибка, возникающая при работе с менеджером лицензий если в настройках
Windows установлен язык отличный от английского
[+] В режиме эксперта в опциях теперь можно изменять стандартные
сообщения "Обнаружен отладчик", "Обнаружены инструменты
виртуализации", "Файл поврежден" и "Необходим серийный
номер"
[+] В скрипт для TVMProtector добавлено
свойство Messages
[*] Улучшена совместимость защиты памяти с
некоторыми антивирусами
[!] Исправлена ошибка с определением имен маркеров для
MinGW
[!] Исправлена ошибка, возникающая при защите импорта в х64
файлах
[!] Исправлена ошибка, возникающая при виртуализации FILD WORD
PTR [XXXX]
[!] Исправлена ошибка, возникающая при дизассемблировании
PSRLW
[!] Исправлена ошибка, возникающая в DLL Box при активном антивирусе
[*] Файл проекта теперь сохраняется в XML формате
[*] Скрипт теперь хранится в файле проекта
[*] Ultimate: Менеджер
лицензий теперь находится в GUI версии
[*] Ultimate: Значительно ускорено выполнение кода, привязанного к серийному
номеру
[+] Добавлена поддержка МАР файлов для MinGW
[+] Добавлена поддержка JCLDEBUG
[+] В скрипт для TPEDirectory добавлен метод
Clear
[+] В скрипт для TVMProcedure добавлены
свойства InputSize и
OutputSize
[+] Ultimate: В SDK добавлены новые API - VMProtectBeginVirtualizationLockByKey
и VMProtectBeginUltraLockByKey
[!] Исправлены ошибки с определением строк для программ на
MinGW
[!] Исправлены ошибка "Out of system resources", возникающая при
добавлении большого количества процедур в проект
[!] Исправлены ошибка, возникающая при выводе строк в консольной
версии
[*] Дата MAP файла теперь берется из содержимого файла
[+] Ultimate: Добавлены примеры по работе с системой лицензирования (на MSVC и
Delphi)
[+] Ultimate: Добавлены исходные коды генератора серийных номеров
на MSVC
[+] Ultimate: Добавлен DLL Box
(доступен только для EXE файлов)
[+] Ultimate: В скрипт добавлен класс TInternalDLLs
[+] Ultimate: В скрипт для класса TVMProtector добавлено
свойство InternalDlls
[+] В скрипт для класса TMapRecord добавлено свойство
SegmentName
[+] В скрипт для класса TIntelRecord добавлено
свойство Operands
[+] Добавлен чешский язык
[!] Исправлена ошибка, возникающая при обфускации FDIVR
[ESP+XXXX]
[!] Исправлена ошибка, возникающая при обфускации SWITCH в x64
приложениях
[*] При использовании опции "Защита памяти" теперь
проверяется целостность файла на диске
[*] Ultimate: Улучшена интеграция модуля лицензирования с
защищаемой программой
[+] Добавлена поддержка файлов, имеющих оверлей
[+] Ultimate: Добавлен пример генератора серийных
номеров на C#
[+] Ultimate: В менеджере
лицензий добавлен экспорт параметров продукта для генератора
на C#
[+] Ultimate: В консольную версию
добавлен параметр "-lf", с помощью которого можно указать имя
файла с параметрами лицензирования
[+] Добавлен французский файл помощи
[!] Исправлена ошибка, возникающая при использовании защиты импорта в SYS
файлах (под Windows 7 не определялся базовый адрес hal.dll)
[!] Исправлена ошибка, возникающая при обфускации команд с
использованием CRx регистров в SYS файлах
[!] Исправлены мелкие ошибки
[*] Улучшения в системе
лицензирования Ultimate версии
[+] Добавлен французский язык
[!] В SenseLock Edition исправлена ошибка, возникающая при
одновременной работе нескольких программ, которые используют
разные лицензии в ключе (пользователям SenseLock Edition
необходимо обновить прошивку в мастер ключе)
[!] Исправлена ошибка при дизассемблировани EntryPoint у программ
на Delphi
[!] Исправлены мелкие ошибки
[*] Важные улучшения в системе
лицензирования Ultimate версии
[*] SenseLock Edition теперь использует систему лицензирования
Ultimate версии (пользователям SenseLock Edition необходимо
обновить лицензию в мастер ключе)
[*] Улучшено определение строк, помеченных с помощью VMProtectDecryptStringA/VMProtectDecryptStringW
[+] В GUI добавлена поддержка Unicode
[+] Добавлен традиционный китайский язык
[!] Исправлены мелкие ошибки в инсталляторе, менеджере лицензий и SDK
[*] Для регистрации VMProtect сейчас используется собственная
система лицензирования
[+] Добавлен упрощенный китайский язык
[!] Исправлены ошибки при дизассемблировании и виртуализации
команд CALL FWORD PTR [XXXX] и JMP FWORD PTR [XXXX]
[!] В версии SenseLock Edition исправлена ошибка, возникающая при
запрое серийного номер ключа после смены стандартного PIN
пользователя
[!] Исправлена ошибка, возникающая при виртуализации SWITCH в х64
приложениях
[!] Исправлена ошибка, возникающая при дизассемблировании команд
ROL, ROR, RCL, RCR, SHL, SHR, SAL и SAR, имеющих REX преффикс в
х64 приложениях
[!] Исправлена ошибка, возникающая при виртуализации команды
CMOVxx
[!] Исправлены мелкие ошибки
[*] Обновлен файл помощи на русском
[*] Обновлен файл помощи на английском
[+] Добавлена система
лицензирования (доступна только в Ultimate версии)
[+] В SDK добавлены новые API - VMProtectDecryptStringA
и VMProtectDecryptStringW
[+] В скрипт для класса TVMProcedure добавлено
свойство CompilationOptions
[+] В скрипт для класса TVMProcedure добавлены
свойства SELicense и
SEVersion
(доступны только в SenseLock Edition)
[+] В скрипт для класса TVMProtector добавлены
свойства VMSectionName
и VMExecutorCount
[+] В скрипт для класса TVMProtector добавлены
свойства SEMasterPassword,
SEUserPIN,
SEKeyID,
SELicense
и SEVersion
(доступны только в SenseLock Edition)
[-] Убрана опция "Динамическое создание онлайн команд"
[!] Исправлена ошибка, возникающая при исполнении
промутированного кода на процессорах Pentium 4
[!] Исправлена ошибка, возникающая при исполнении
завиртуализированного кода на некоторых процессорах Athlon
[!] Исправлены ошибки, возникающие при дизассемблировании и
виртуализации структур, описывающих обработчики исключений с
фильтром на класс исключения (для программ на Delphi и Borland
C++ Builder)
[!] Исправленa ошибкa, возникающая при использовании нескольких ВМ в
64-битных файлах
[!] Исправлены мелкие ошибки
[*] Улучшено определение имен маркеров (для программ на Visual C)
[*] Значительно снижено потребление памяти в процессе
компиляции
[*] Ресурс "HTML" теперь не упаковывается
[*] Обновлен файл помощи на русском
[+] В режиме "Мастер" добавлен
поиск процедур по маске
[+] Добавлен новый
режим упаковки с более высокой степенью сжатия
[+] Добавлена поддержка файлов, имеющих TLS-калбеки
[+] В SDK добавлено новое API - VMProtectIsValidImageCRC
[!] Исправлены ошибки, возникающие при защите импорта в
SYS-файлах
[!] Исправлены ошибки, возникающие при защите памяти в
DLL/SYS-файлах
[!] Исправлены ошибки, возникающие при использовании нескольких ВМ в
DLL/SYS-файлах
[!] Исправлена ошибка, возникающая при мутации кода, имеющего
обработчики исключений
[!] Исправлена ошибка, возникающая при одновременном
использовании защиты памяти и
водяных знаков
[!] Исправлены мелкие ошибки
[*] Улучшено определение ссылок на строки, помеченных маркерами (теперь не нужно помечать
маркерами все ссылки на защищаемую строку)
[*] Улучшена защита
импорта
[*] Улучшено определение
отладчика
[*] Обновлен файл помощи на русском
[+] В GUI-версии теперь можно сохранять файлы проекта под
разными именами
[+] Теперь можно открывать файлы
проекта
[+] Добавлено обнаружение
Sandboxie
[+] Добавлена поддержка файлов, скомпилированных с ключем
/SAFESEH
[+] Добавлена поддержка CodeGear 2009
[+] Теперь можно задавать имена маркерам (при использовании
VMProtectBegin/VMProtectBeginMutation/VMProtectBeginVirtualization/VMProtectBeginUltra
из VMProtectSDKxx.dll/VMProtectDDKxx.sys)
[+] В SDK добавлены новые API (VMProtectIsDebuggerPresent
и VMProtectIsVirtualMachinePresent)
[+] Для версии SenseLock Edition добавлена утилита "Система
удаленного обновления и лицензирования"
[+] Для версии SenseLock Edition добавлена привязка к
идентификатору ключа
[!] Секции, имеющие флаги SHAREABLE+WRITABLE, теперь не
упаковываются
[!] Исправлены мелкие ошибки
[*] Улучшена защита
импорта для SYS-файлов
[*] Улучшена упаковка SYS-файлов
(упакованным секциям больше не устанавливается флаг
WRITABLE)
[*] Улучшено определение
отладчика
[+] Добавлена опция "Защита памяти" (данная
опция защищает память от изменений во время работы
приложения)
[+] Добавлена опция "Определение
инструментов виртуализации (VMware/Virtual PC)"
[+] В скрипт для класса TPEFile добавлено свойство
EntryPoint
[!] Исправлены мелкие ошибки
[*] Улучшена защита
импорта
[*] Улучшено определение
отладчика
[+] Добавлено определение непарных маркеров (непарные маркеры доступны в общем
списке объектов)
[+] Добавлены маркеры с предустановленным типом компиляции:
VMProtectBeginVirtualization, VMProtectBeginMutation и
VMProtectBeginUltra
[+] Добавлен традиционный китайский язык
[!] Исправлена ошибка, возникающая при работе упакованного файла,
имеющего ресурсы "TYPELIB", "REGISTRY" и "MUI"
[!] Исправлена ошибка R6002, возникающая при работе упакованного
файла (для программ на Visual C)
[!] Исправлены ошибка, возникающая при использовании опции
"Защита
импорта" в 64-битных SYS-файлах
[!] Исправлены мелкие ошибки
[*] Файл настроек теперь сохраняется в каталог
%APPDATA%/PolyTech/VMProtect
[*] Улучшена защита
импорта
[+] Добавлена опция "Виртуальные Машины"
(разные завиртуализированные участки кода будут выполняться на
разных виртуальных машинах с разной архитектурой)
[+] Добавлена опция "Определение отладчика"
(при обнаружении отладчика защищенное приложение будет показывать
соответствующее сообщение и закрываться)
[+] В скрипт для класса TPESection добавлено свойство
IncludedInPacking
[+] Добавлена поддержка команды IRETD
[+] Добавлен пример c использованием маркеров в Lazarus
[!] Исправлены ошибки, возникающие при использовании опции
"Защита
импорта"
[!] Исправлены мелкие ошибки
[+] В скрипт добавлено событие OnBeforePackFile
[+] В скрипт для класса TPEFile добавлено свойство
Handle
[+] Добавлен пример c использованием маркеров в Free Pascal
[*] Улучшен контроль целостности ВМ объектов
[!] Исправлены ошибки, возникающие при использовании опции
"Защита
импорта"
[!] Исправлена ошибка, возникающая при обработке исключения в
TRY/EXCEPT/END блоке в режиме "Ультра" (для программ на Delphi и
Borland C++ Builder)
[*] Улучшена защита
импорта для SYS-файлов
[+] Каждый объект из проекта теперь может иметь свои опции
компиляции для более тонкой настройки быстродействия
(индивидуальные опции настраиваются в дереве проекта)
[+] Добавлена опция "Перемещать ресурсы в конец файла"
[+] Добавлен пример использования расширенных маркеров (папка
Examples\Scripts\UseExtMarkers)
[!] Исправлена ошибка, возникающая при запуске упакованных
файлов под управлением Windows 95/98
[!] Исправлены мелкие ошибки
[+] В Lite-версии добавлена возможность передачи имени файла
через командную строку
[+] В режиме "Мастер" добавлена
история
[+] В режиме "Мастер" добавлен
выбор языка
[+] Добавлена опция "Защита импорта"
(рекомендуется использовать совместно с упаковкой выходного
файла)
[+] В консольной версии добавлен
параметр "-we" (при использовании этого параметра все
предупреждения будут отображаться как ошибки)
[+] В скрипт добавлен класс TPEResourceRecords
[+] В скрипт для класса TPEFile добавлено свойство
ResourceRecords
[!] Исправлены мелкие ошибки
[*] Улучшена работа с одинаковыми строками (теперь одинаковые
строки отображаются как один объект, содержащий несколько
записей)
[+] Добавлена возможность упаковки выходного файла
[+] В скрипт добавлен класс TPEExportRecords
[+] В скрипт для класса TPEFile добавлено свойство
ExportRecords
[+] В скрипт добавлено событие OnBeforeSaveFile
[+] Добавлен файл помощи на китайском языке (перевод Wang
Xiaopeng)
[+] При загрузке MAP-файла добавлена проверка даты и времени
модификации (если дата и время модификации MAP-файла отличается
от даты и времени модификации защищаемого файла, то MAP-файл не
будет загружен)
[!] Исправлена ошибка, возникающая при виртуализации команд
BT, BTC, BTR и BTS
[!] Исправлены мелкие ошибки
[*] Список опций защиты отсортирован в порядке убывания
приоритета
[*] Улучшена поддержка SEH для VC8
[*] Улучшено динамическое создание онлайн-команд
[*] Улучшен контроль целостности объектов ВМ
[+] Добавлена поддержка команд PREFETCH и PREFETCHW
[+] В скрипт добавлены функции CompareText и
AnsiCompareText
[+] В скрипт для класса TPEFile добавлено свойство
Size
[+] Добавлен пример c использованием маркеров в MinGW
[+] Добавлен китайский язык (перевод Wang Xiaopeng)
[+] В окне добавления процедуры добавлен поиск по маске с
использованием символов "*" и "?"
[+] В сообщения компилятора теперь выводится информация о размере
выходного файла
[!] Исправлена ошибка, возникающая при работе с файлом,
имеющим "невыровненное" значение ImageSize
[!] Исправлена ошибка, возникающая при определении начала блока
TRY для программ на Delphi
[!] Исправлена ошибка, возникающая при обработке "смешанного"
кода из Discardable и NonDiscardable секций в SYS-файлах
[!] Исправлена ошибка, возникающая при виртуализации 64-битных
DLL/SYS-файлов
[*] Восстановлена опция "Шифрация регистров при выходе из
ВМ"
[+] В скрипт добавлен класс TIniFile
[+] В скрипт для класса TPEFile добавлены дополнительные
свойства и методы
[+] В GUI-версию добавлен калькулятор для расчета смещений в
файле по адресам
[+] Добавлен итальянский язык (перевод Gabriele Lanza)
[!] Исправлена ошибка, возникающая при мутации команды PUSH
ESP
[!] Исправлена ошибка, возникающая при виртуализации команды
FLDCW [ESP+xxxx]
[!] Исправлена ошибка, возникающая при обфускации байт-кода
[*] Улучшения в GUI
[+] Добавлены немецкий и испанский языки
[+] Добавлена поддержка скриптов
[+] В консольной версии добавлен
параметр, с помощью которого можно указать имя файла со
скриптом
[!] Исправлены ошибки, возникающие при виртуализации кода в
DLL/SYS-файлах
[*] Улучшения в виртуализации кода
[*] В консольной версии при
перенаправлении вывода текста в файл убраны бегущие
проценты
[+] Добавлена возможность вставки маркеров для x86-64
[+] Добавлена возможность создавать папки в проекте
[+] В консольной версии добавлен
параметр, с помощью которого можно указать имя файла
проекта
[!] Исправлена ошибка, возникающая при мутации команд CMOVxx,
CMPXCHG и CMPXCHG8B
[!] Исправлена ошибка, возникающая при мутации команды LEA
ESP,[ESP+xxxx]
[*] Команды RCL и RCR добавлены в базовую логику ВМ
[+] Добавлена поддержка x86-64
[+] В GUI-версии на закладке "Опции" теперь можно указать имя
выходного файла
[+] Добавлена справка на русском и английском языках
[!] Исправлена ошибка, возникающая при создании "Relocation
Table" нулевой длины
[!] Исправлена ошибка, возникающая при мутации команды CALL
[xxxx] в режиме "Мутация" в DLL/SYS-файлах
[!] В примере на Delphi в определение VMProtectBegin добавлена
команда, препятствующая оптимизации VMProtectBegin (оптимизация
VMProtectBegin могла приводить к неработоспособности защищенного
файла)
[+] Добавлена опция "Автосохранение проекта после
компиляции"
[!] Исправлена ошибка, возникающая при перетаскивании файлов в
главное окно
[!] Исправлена ошибка, возникающая при работе с файлами, имеющими
атрибут "Read only"
[!] Исправлены мелкие недочеты при компиляции в режиме
"Ультра"
[*] Защищенный файл теперь имеет точно такие же атрибуты как
оригинальный файл
[+] В список защищаемых процедур теперь можно включать строки
(присвоение строк необходимо отмечать маркерами)
[+] В дистрибутив добавлены примеры c использованием маркеров в
Borland C++ Builder, Delphi, MASM, Visual Basic и Visual
C++
[+] Добавлена опция "Интегрировать в оболочку"
[!] Исправлена ошибка, возникающая при мутации команд IMUL,
MUL, IDIV, DIV
[!] Исправлена ошибка, возникающая при виртуализации нескольких
CASE таблиц, идущих друг за другом
[!] Исправлена ошибка, возникающая при виртуализации команд POP
word/dword ptr [esp+xxxx] и IMUL reg8
[!] Исправлена ошибка, возникающая при дизассемблировании команд
MOVNTPS и MOVNTPD
[+] Добавлен новый тип компиляции "Ультра (мутация +
виртуализация)"
[+] Добавлен выбор типа компиляции в окне добавления/изменения
процедуры
[+] Добавлен поиск водяных знаков в процессах (используется для
поиска водяных знаков в упакованных файлах)
[*] Улучшена совместимость с ASM компиляторами (TASM, MASM и
т.п.)
[!] Исправлена ошибка, возникающая при эмуляции команды FILD
word ptr [xxxx]
[+] Для каждой процедуры можно указать тип компиляции ("Мутация"
или "Виртуализация")
[+] Добавлена поддержка SEH для VC7-8
[+] Добавлена поддержка маркеров в Visual Basic (начало и конец
участка маркируются вставками на бейсике - Call VarPtr("VMProtect
begin") и Call VarPtr("VMProtect end"))
[*] В зарегистрированной версии программы исполнитель ВМ теперь
полностью видоизменяется (препятствует автоматическому
определению защиты сигнатурными сканерами PEiD, RDG Packer
Detector и т.п.)
[+] Добавлена возможность вставлять в защищаемый файл водяные
знаки
[*] Исполнитель ВМ теперь полностью поддерживает многопоточные
приложения (теперь нет необходимости создавать процедуру
выделения памяти для нужд исполнителя)
[-] Убрана опция с выбором функции выделения памяти для нужд
исполнителя
[!] Исправлены мелкие недочеты [+] Добавлен режим работы "Мастер" [+] В дереве процедур добавлен показ ссылок [*] Опции "Скрывать константы", "Динамическое создание онлайн-команд", "Шифрация регистров при переходах", "Контроль целостности объектов ВМ" и многое другое теперь доступны только для зарегистрированных пользователей
[!] Исправлена ошибка, возникающая при компиляции проектов с
включенной опцией "Выделение памяти в исполнителе"
[!] Исправлены мелкие ошибки
[+] Добавлена возможность контроля целостности байт-кода (при
включенной опции "Контроль целостности объектов ВМ")
[!] Исправлена ошибка, возникающая при эмуляции CMPXCHG8b,
если в операндах участвуют регистры EAX и EDX
[+] В исполнителе присутствуют только те команды, которые будут
участвовать при исполнении байт-кода
[-] Из базовой логики ВМ убраны некоторые команды (затрудняет
анализ и декомпиляцию байт-кода)
[!] Исправлена ошибка, возникающая при перемещении директории
Bound Import
[+] Добавлена возможность включения в проект участков кода,
помеченных маркерами (начало и конец участка маркируются
вставками на ассемблере - "db $EB,$10,'VMProtect begin',0" и "db
$EB,$0E,'VMProtect end',0")
[+] Добавлена возможность включать в проект экспортируемые
функции
[-] Убрана опция "Шифрация байт-кода" (шифрация байт-кода теперь
всегда включена)
[!] Исправлены ошибки, возникающие при: эмуляции SBB
(неправильное состояние некоторых флагов); эмуляции CMOVxx,
CMPXCHG и CMPXCHG8b (в случаях, когда в качестве второго
аргумента использовалась адресация с применением регистра ESP или
DWORD значения)
[+] Добавлена поддержка SEH в VB6 (native)
[+] Добавлена поддержка MAP-файлов, генерируемых IDA
[+] Добавлена возможность пакетного добавления процедур
[+] Добавлен показ ссылок на команды прямо в листинге
процедур
[+] Добавлена новая опция "Шифрация регистров при
переходах"
[*] Доработан процесс определения конца процедуры при
дизассемблировании циклов
[+] Для совместимости с UPX добавлена очистка флага Sharable у
Writable-секций (в случаях, когда старая таблица релоков
используется для нужд ВМ)
[*] Ускорен процесс дизассемблирования больших участков
кода
[*] Доработан механизм метаморфизма исполнителя
байт-кода
[!] Исправлены ошибки, возникающие при работе с PE файлами (в
случаях, когда виртуальный размер секций кода равен нулю);
обфускации FPU команд (ошибки приводили к неправильному
результату); дизассемблировании (вместо CWDE распознавалась
команда CWD); эмуляции команд ROL и ROR (если аргумент имел
размер в 1 байт)
[+] Добавлена поддержка группы команд SSE2
[!] Исправлены ошибки, приводящие к неправильному состоянию A
флага после эмуляции команд SUB, CMP, DEC, NEG, CMPXCHG, SCAS и
CMPS.
[!] Исправлена ошибка, возникающая при работе с "невыровненным"
файлом
[+] Добавлена поддержка инструкций BSF, BSR и CMPXCHG8b
[+] Для многопоточных приложений теперь можно указать процедуру
выделения памяти для исполнителя ВМ (процедура выделения памяти
должна быть определена как fastcall)
[+] Добавлена поддержка инструкций FUCOMPP и FCMOVxx
[+] При просмотре участков кода добавлен показ типов строк
(ANSI/Unicode/Pascal) и комментарии для полей структур,
создаваемых компиляторами
[+] Добавлена процедура метаморфизма исполнителя байт-кода
[+] Добавлены новые опции компиляции: "Шифрация байт-кода" и
"Удаление настраиваемых элементов (только для EXE файлов)"
[-] Убрана опция "Обфускация байт-кода" (обфускация байт-кода
теперь всегда включена)
[!] Исправлена ошибка при определении обработчиков SEH для
С++
[*] Полностью переработан обфускатор байт-кода
[+] Добавлена подцветка настраиваемых элементов при просмотре
участков кода
[+] Использование "свободного места" из-под оригинальных
участков кода для хранения байт-кода
[+] Добавлено распознавание "коротких" строк в pascal-формате
(первый байт - длина строки)
[!] Исправлены ошибки с выполнением онлайн-команд в
DLL/SYS
[*] Изменён алгоритм подсчёта контрольной суммы байт-кода
[+] Добавлена опция "Контроль целостности исполнителя ВМ" (также
работает как противоотладочный приём при отладке исполнителя если
отладчик использует в качестве точек остановки INT 03).
[+] Использование "старой" таблицы настраиваемых элементов для
хранения байт-кода
[!] Исправлена ошибка при создании файлов с настраиваемыми
элементами (ошибка возникала при работе DLL/SYS-файлов в
операционных системах Windows 95/98/Me)
[!] Исправлены мелкие ошибки в дизассемблере
[+] Добавлена поддержка инструкций F2XM1, FABS, FCLEX, FCOS,
FDECSTP, FINCSTP, FINIT, FLDCW, FLDLN2, FLDLG2, FPREM, FREM1,
FPTAN, FRNDINT, FSIN, FSTCW, FTST, FYL2X, FPATAN, FLDZ,
FISTP
[+] Добавлена поддержка MAP-файлов от Borland C Builder
[+] В настройках программы теперь можно выбирать язык интерфейса
и сообщений (доступны русский и английский языки)
[!] Исправлены мелкие ошибки, связанные с интерфейсом
[+] Добавлена поддержка инструкций CMOV и CMPXCHG
[!] Исправлены мелкие ошибки, связанные с интерфейсом
[+] Добавлена поддержка Virtual Pascal
[!] Исправлены ошибки в компиляторе (некорректная работа с C
флагом при компиляции инструкций NEG и SBB; более корректная
обработка POPF; неправильная проверка CRC байт-кода при обработке
внешних условных переходов)
[!] Исправлены ошибки в исполнителе ВМ, связанные с обфускацией
байт-кода
[+] Улучшена обработка MAP-файла, генерируемого C/C++
компиляторами (имена процедур содержат информацию об
аргументах)
[!] Исправлено множество ошибок