Как зачем? Некоторая секретная информация (trial, защита от отката, ключи и т.п.) может хранится в реестре или в файлах. К тому же, под правами юзера версия BIOS'а (для привязки к железу) может тоже читаться из реестра и т.д.> Скажите, есть ли в вашем протекторе следующие функции:
> * обнаружение программ-мониторов (RegMon, FileMon);
Нет. А зачем? )
Хотя бы для того, чтобы в защищённом файле не было видно строк и функций в открытом виде. Ведь сжатие может и не сработать (файл может быть не сжимаемым либо я могу захотеть его отключить) или не скрыть всей информации.> * шифрование всего файла (не упаковка!);
> * Шифруются ли ресурсы?
Нет. А зачем это делать если после старта программы это все будет
расшифровываться и расшифрованный файл можно сдампить?
А чтобы сдампить, кстати, нужно сначала пройти защиты анти-дамп и анти-дебаг. Это всё доп. работа (для кого-то нерешаемая). А так можно взять Hiew/WinHex и ничего даже дампить не нужно.
Кстати, анти-дамперские технологии вы же используете какие-то?
Память - это понятно. А сам файл? Я, например, могу спокойно заменить stub, может даже ресурсы (опять же, в варианте без сжатия) и т.д. Могу даже "защитить" какой-нибудь анти-VMProtect'овой прогой> * антипатчинг (защита от изменения файла)?
Да - защита памяти.
А как же тогда? DCU-модуля вроже тоже нет.> * При защите приложения для Delphi (а в частности API-маркерами) и
> использования в нём функций дефишровки данных нужно таскать с собой
> VMProtectSDK32.dll ?
Нет.
А если мой код находится после завиртуализированного/промутированного кода?> * Если в программе произойдёт исключение, адрес ошибки будет показан
> тот же, что и в незащищённой проге?
Если исключение произойдет в завиртуализированном.промутированном
коде, то покажется новый адрес исключения, а не оригинальный.