Несколько запротектированных плагинов

Issues related to VMProtect
Post Reply
mroleg
Posts: 4
Joined: Tue Jun 07, 2016 9:17 am

Несколько запротектированных плагинов

Post by mroleg »

Есть стороннее приложение-сервер, запускаемое в системе как служба.
Я использую VMProtect для защиты разрабатываемых мной dll-плагинов.
Проблема: когда служба использует > 1 запротектированного плагина, то при ручной остановке службы через стандартный Services всплывает ошибка:

Code: Select all

Windows could not stop the service on local computer.
Error 1067 the process terminated unexpectedly
Если работает только 1 запротектированный плагин, то служба останавливается нормально.

С чем это может быть связано и как решить данную проблему?
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Несколько запротектированных плагинов

Post by Admin »

Нужно разбираться в отладчике.
mroleg
Posts: 4
Joined: Tue Jun 07, 2016 9:17 am

Re: Несколько запротектированных плагинов

Post by mroleg »

Access violation возникал в секциях vmp в стеке после вызова FreeLibrary.
Выяснилось, что при отключении в опциях "защиты памяти" аварийной остановки службы не наблюдается, тем не менее процесс выгрузки dll занимает достаточно много времени (~30 сек).
Также интересный момент, что при отключении защиты памяти размер файла уменьшается с 3.3 Мб до 1.7Мб - почему защита памяти требует таких ресурсов?

Много ли теряется в отношении протекции при отключении данной опции?
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Несколько запротектированных плагинов

Post by Admin »

Что делает защита памяти:
1. При старте проверяет целостность файла на диске.
2. При старте проверяет целостность ReanOnly сегментов образа в памяти.
3. При работе завиртуализированного кода проверяет случайные участки кода, которые получились в результате защиты программы (пользовательские функции с типами мутация/виртуализация + код VMP рантайма)

Размер таблицы хешей для п. 3 самый большой, т.к. размеры регионов там ограничены в 4К для обеспечения приемлимой скорости.

Дополнительно на размер защищенного файла влияет наличие VMP рантайма (VMProtect добавляет свой собственный код если программа использует функции из SDK/опции "Защита памяти", "Защита ресурсов" и в меньшей степени "Упаковка файла").
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Несколько запротектированных плагинов

Post by Admin »

Access violation возникал в секциях vmp в стеке после вызова FreeLibrary.
Выяснилось, что при отключении в опциях "защиты памяти" аварийной остановки службы не наблюдается
Исправленная версия (619 билд) выслана на емаил, указанный при покупке
Post Reply