Page 1 of 1
VMProtect и протекторы/упаковщики
Posted: Fri Apr 20, 2007 11:07 am
by GMC
Добрый день.
Думаю, что защиты никогда не бывает мало

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

Posted: Fri Apr 20, 2007 11:15 am
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 и на втором этапе все остальные.
Posted: Sat Dec 08, 2007 5:19 pm
by Admin
P.S. В версии 1.6. добавлена возможность упаковки выходного файла
Posted: Fri Feb 20, 2009 2:19 pm
by Erazer
А можно коротенькую инструкцию как совместить ASProtect SKE 2.4 и ваш продукт ?
Posted: Sat Feb 21, 2009 5:27 am
by Admin
А какой смысл вообще использовать ASProtect?

)
Posted: Sat Feb 28, 2009 10:28 pm
by Erazer
Очень простой... куча пользователей получивших ключи сгенеренные им. + Отсутствие механизмов генерации ключей, реализации триальности в вашем продукте. (Не вижу смысла в лишних телодвижениях 1 словом.)
Posted: Sun Mar 01, 2009 4:48 am
by Admin
Если использовать ASProtect только в качестве системы лицензирования, то я вижу следующий алгоритм работы:
1. Накрываете программу ASProtect (с полностью отключенными "Protection Options" + "Compression Option"="Without Compression")
2. Сверху накрываете VMProtect с любыми опциями на выбор (также можно накрыть любой код в самой программе, там где не используются макросы "encrypted sections").
Posted: Thu Apr 16, 2009 7:24 am
by Erazer
Admin wrote:1. Накрываете программу ASProtect (с полностью отключенными "Protection Options" + "Compression Option"="Without Compression")
- что-то я не вижу в нем возможности отключения сжатия..

Posted: Fri Apr 17, 2009 5:19 am
by Admin
По всей видимости действительно "Without Compression" всегда недоступна.
Posted: Mon May 18, 2009 10:13 am
by Admin
С версии 1.8 мы не рекоменудем использовать пакеры/протекторы после защиты файла с помощью VMProtect, т.к. большинство инструментов не поддерживают некоторые особенности реализации PE формата и как следствие после их использования упакованные файлы перестают нормально функционировать.
Для упаковки мы рекомендуем использовать встроенный упаковщик, для использования которого на закладке "Опции" достаточно включить опцию "Упаковать выходной файл". В версии 1.81 появится новый режим упаковки с более высокой степенью сжатия.
Posted: Mon May 18, 2009 10:36 am
by Erazer
Ну что за люди..

Упаковать я и UPX могу.. Вопрос в том что в вашей защите все еще отсутствует маханизм триальности и генерации/проверки ключей. А не в том чтобы паковать чем-то.
Posted: Mon May 18, 2009 1:49 pm
by Admin
Основная цель последнего поста - это предупредить пользователей, что у них могут быть проблемы при использовании
упаковщиков после VMProtect 1.8. Вопрос лицензирования вообще не затрагивался

)