VMProtect и протекторы/упаковщики

Issues related to VMProtect
Post Reply
GMC
Posts: 5
Joined: Mon Apr 02, 2007 6:01 pm

VMProtect и протекторы/упаковщики

Post by GMC »

Добрый день.

Думаю, что защиты никогда не бывает мало :)
Поэтому решил попробовать защитить свою программу (х32) с помощью VMProtect и Armadillo.
Т.е. обрабатываю сначала в VMProtect, затем в Armadillo
Столкнулся сразу с проблемами. Включение/выключение трех режимов защиты кода в Арме приводит к разным результатам:
- Strategic Code Splicing - при включении параметра защищаемая программа вылетает, но видно что при старте отрабатывает код, не обработанный VMProtect
- Import Table Elimination - при включении параметра защищаемая программа не работает - сразу вылетает.
- Memory Patching Protection - при включении параметра защищаемая программа нормально работает.

В принципе, если не использовать первые два указанные мною параметра, то программа, защищенная VMProtect + Armadillo нормально работает.

Кто нибудь сталкивался с подобными проблемами?
Может есть какие то рекомендации по настройкам Армадиллы?
Или у кого нить есть опыт использования других протекторов?

Надеюсь на обмен опытом в данном вопросе :)
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

- Import Table Elimination - при включении параметра защищаемая программа не работает - сразу вылетает.
При включении данной опции Armadillo ищет все ссылки на IAT и по всем найденным местам изменяет указатели на "новую" IAT, которая находится в другом месте. Соотвественно Armadillo не может найти и "исправить" все ссылки на IAT из p-code ВМ и поэтому в p-code остаются указатели на "старую" IAT вследствии чего программа при выполнении такого кода будет вылетать. Поэтому рекомендуется отключать данную опцию при обработке Armadillo после VMProtect.

Также в Armadillo есть возможность отмечать блоки кода как SecureSection. В данном случае нужно учитывать следующую особенность VMProtect-а: место из под защищенных участков кода VMProtect использует под хранение блоков кода от разных процедур и исполнителя ВМ и если вы при работе в VMProtect в список обрабатываемых процедур включите процедуры с "типом" SecureSection и NonSecureSection, то на месте SecureSection у вас могут присутсвовать участки от NonSecureSection и наоборот и в результате такого "винегрета" программа скорее всего работать не будет. При применении SecureSection рекомендуется использовать VMProtect в 2 этапа - сначала обрабатывать только процедуры помеченнные SecureSection и на втором этапе все остальные.
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

P.S. В версии 1.6. добавлена возможность упаковки выходного файла
Erazer
Posts: 11
Joined: Fri Feb 20, 2009 1:58 pm

Post by Erazer »

А можно коротенькую инструкцию как совместить ASProtect SKE 2.4 и ваш продукт ?
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

А какой смысл вообще использовать ASProtect? :))
Erazer
Posts: 11
Joined: Fri Feb 20, 2009 1:58 pm

Post by Erazer »

Очень простой... куча пользователей получивших ключи сгенеренные им. + Отсутствие механизмов генерации ключей, реализации триальности в вашем продукте. (Не вижу смысла в лишних телодвижениях 1 словом.)
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

Если использовать ASProtect только в качестве системы лицензирования, то я вижу следующий алгоритм работы:
1. Накрываете программу ASProtect (с полностью отключенными "Protection Options" + "Compression Option"="Without Compression")
2. Сверху накрываете VMProtect с любыми опциями на выбор (также можно накрыть любой код в самой программе, там где не используются макросы "encrypted sections").
Erazer
Posts: 11
Joined: Fri Feb 20, 2009 1:58 pm

Post by Erazer »

Admin wrote:1. Накрываете программу ASProtect (с полностью отключенными "Protection Options" + "Compression Option"="Without Compression")
- что-то я не вижу в нем возможности отключения сжатия.. :roll:
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

По всей видимости действительно "Without Compression" всегда недоступна.
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

С версии 1.8 мы не рекоменудем использовать пакеры/протекторы после защиты файла с помощью VMProtect, т.к. большинство инструментов не поддерживают некоторые особенности реализации PE формата и как следствие после их использования упакованные файлы перестают нормально функционировать.
Для упаковки мы рекомендуем использовать встроенный упаковщик, для использования которого на закладке "Опции" достаточно включить опцию "Упаковать выходной файл". В версии 1.81 появится новый режим упаковки с более высокой степенью сжатия.
Erazer
Posts: 11
Joined: Fri Feb 20, 2009 1:58 pm

Post by Erazer »

Ну что за люди.. :) Упаковать я и UPX могу.. Вопрос в том что в вашей защите все еще отсутствует маханизм триальности и генерации/проверки ключей. А не в том чтобы паковать чем-то.
Admin
Site Admin
Posts: 2585
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Post by Admin »

Основная цель последнего поста - это предупредить пользователей, что у них могут быть проблемы при использовании упаковщиков после VMProtect 1.8. Вопрос лицензирования вообще не затрагивался :))
Post Reply