Автор: Сергей Чубченко. Дата публикации: 08.10.2015
Рады представить значительно обновленную версию нашего продукта для защиты программ! NiceProtect был полностью переписан в более современной среде разработки, все основные функции были переработаны и улучшены. В первую очередь Вы можете это оценить по скорости работы продукта, которая была увеличена в несколько раз, а также стабильности на самых экзотических проектах.


Все обозначенные выше среды оставляют множество служебных данных в скомпилированных файлах: имена форм, элементов управления на формах, имена публичных процедур (событий и методов), данные проекта и так далее. Вся эта информация крайне полезна взломщикам программ и ее настоятельно рекомендуется вычищать перед публикацией продуктов. Увы - со стороны производителя защиты это требует огромных трудозатрат, так как вся служебная информация содержится в сложной цепочке недокументированных структур. Ввиду того, что мы также занимаемся разработкой декомпиляторов, у нас имеется множество наработок по декомпилиции и последующей сборке служебных данных. Именно эти наработки и используются в NiceProtect.


В NiceProtect также применена система мутации и виртуализации кода, способная сокрыть критичный код от анализа и взлома. В отличии от аналогов, где мутация и виртуализация строго разделены, NiceProtect комбинирует эти две возможности в процессе защиты. Для наглядности опишем на примере. Допустим у нас есть блок кода из ассемблерных команд. Так вот, в процессе защиты NiceProtect'ом часть команд будут преобразованы мутатором в более сложные конструкции и разбавлены мусорным кодом, а часть команд - переведено на язык виртуальной машины. Это полностью исключает автоматическую декомпиляцию, так как нет строгого разграничения мутированного кода и переходов на исполнитель виртуальной машины - все вперемешку.


И естественно поддерживаются маркеры (когда вы сами помечаете нужный код для защиты), так и выбор функций через MAP файл. И тот и другой подход имеет свои преимущества: маркеры позволяют защитить непосредственно важный код, а пометка функций через MAP файл позволяет переработать начало функции для противодействия декомпиляторам.

Немаловажным плюсом NiceProtect'а является присутствие упаковщика кода. Это наша разработка, не имеющая аналогов со схожими возможностями. А возможности следующие. Помимо компрессии в защищенном файле меняется таблица импорта на аналогичную типичному неупакованному Visual C++ файлу, при этом точка входа программы переносится в первую секцию, что также присутствует только у неупакованных файлов. При этом переход в секцию дешифровщика и распаковщика идет через огромное количество мусорного кода. Все это довольно эффективно работает для запутывания анализаторов и исключает автоматическую распаковку.

Начиная с версии 5.0 в NiceProtect была добавлена самая современная возможность защиты файлов от ложных срабатываний антивирусов - система IEEE Taggant. Эта технология основана на подписи каждого защищенного файла Taggant SHA сертификатом с TimeStamping'ом на сертификационном сервере IEEE. Сертификат имеет следующий вид: корневой сертификат IEEE, сертификат нашей компании DotFix Software выданный IEEE и сертификат конечного пользователя защиты, выданный нами.

Данный сертификат очень похож на Code Signing Cerificate и отличается лишь сферой применения. Описанные выше сертификаты уже проверяются многими антивирусами и сервисом virustotal.com , что значительно снижает ложные срабатывания на защищенные файлы. Мы были в десятке компаний, учавствующих в разработке и внедрении системы Taggant, и имеем значительный опыт по ее использованию.

Еще одним немаловажным плюсом нашей разработки является уникальная возможность использовать продукт частично. К примеру Вы можете сначала завиртуализировать код другой сторонней защитой, а потом обработать NiceProtect'ом для обфускации данных, упаковки кода и подписи Taggant сертификатом. Это может пригодиться если Вы уже используете стороннее решение, которое не содержит возможностей обфускации и упаковки. Также такая схема полезна для запутывания крекеров.
Будем рады видеть Вас в числе наших клиентов!
DotFix NiceProtect - наиболее простой путь защиты программ от взлома
Рады представить значительно обновленную версию нашего продукта для защиты программ! NiceProtect был полностью переписан в более современной среде разработки, все основные функции были переработаны и улучшены. В первую очередь Вы можете это оценить по скорости работы продукта, которая была увеличена в несколько раз, а также стабильности на самых экзотических проектах.
Основные преимущества
С самого старта разработки и по сей день NiceProtect тестируется на всех основных платформах разработки и компиляторах, что обеспечивает непревзойденную совместимость. Еще одним уникальным преимуществом является обфускатор служебных данных компилятора. Уникальным потому, что данного инструмента как не было так и нет ни у кого на рынке софтверных защит. На данный момент обфускация поддерживается для программ, разработанных на Delphi всех версий начиная с пятой и заканчивая RAD Studio 10 Seattle, а также для Visual Basic 5.0 и 6.0.

Все обозначенные выше среды оставляют множество служебных данных в скомпилированных файлах: имена форм, элементов управления на формах, имена публичных процедур (событий и методов), данные проекта и так далее. Вся эта информация крайне полезна взломщикам программ и ее настоятельно рекомендуется вычищать перед публикацией продуктов. Увы - со стороны производителя защиты это требует огромных трудозатрат, так как вся служебная информация содержится в сложной цепочке недокументированных структур. Ввиду того, что мы также занимаемся разработкой декомпиляторов, у нас имеется множество наработок по декомпилиции и последующей сборке служебных данных. Именно эти наработки и используются в NiceProtect.


В NiceProtect также применена система мутации и виртуализации кода, способная сокрыть критичный код от анализа и взлома. В отличии от аналогов, где мутация и виртуализация строго разделены, NiceProtect комбинирует эти две возможности в процессе защиты. Для наглядности опишем на примере. Допустим у нас есть блок кода из ассемблерных команд. Так вот, в процессе защиты NiceProtect'ом часть команд будут преобразованы мутатором в более сложные конструкции и разбавлены мусорным кодом, а часть команд - переведено на язык виртуальной машины. Это полностью исключает автоматическую декомпиляцию, так как нет строгого разграничения мутированного кода и переходов на исполнитель виртуальной машины - все вперемешку.


И естественно поддерживаются маркеры (когда вы сами помечаете нужный код для защиты), так и выбор функций через MAP файл. И тот и другой подход имеет свои преимущества: маркеры позволяют защитить непосредственно важный код, а пометка функций через MAP файл позволяет переработать начало функции для противодействия декомпиляторам.

Немаловажным плюсом NiceProtect'а является присутствие упаковщика кода. Это наша разработка, не имеющая аналогов со схожими возможностями. А возможности следующие. Помимо компрессии в защищенном файле меняется таблица импорта на аналогичную типичному неупакованному Visual C++ файлу, при этом точка входа программы переносится в первую секцию, что также присутствует только у неупакованных файлов. При этом переход в секцию дешифровщика и распаковщика идет через огромное количество мусорного кода. Все это довольно эффективно работает для запутывания анализаторов и исключает автоматическую распаковку.

Начиная с версии 5.0 в NiceProtect была добавлена самая современная возможность защиты файлов от ложных срабатываний антивирусов - система IEEE Taggant. Эта технология основана на подписи каждого защищенного файла Taggant SHA сертификатом с TimeStamping'ом на сертификационном сервере IEEE. Сертификат имеет следующий вид: корневой сертификат IEEE, сертификат нашей компании DotFix Software выданный IEEE и сертификат конечного пользователя защиты, выданный нами.

Данный сертификат очень похож на Code Signing Cerificate и отличается лишь сферой применения. Описанные выше сертификаты уже проверяются многими антивирусами и сервисом virustotal.com , что значительно снижает ложные срабатывания на защищенные файлы. Мы были в десятке компаний, учавствующих в разработке и внедрении системы Taggant, и имеем значительный опыт по ее использованию.

Еще одним немаловажным плюсом нашей разработки является уникальная возможность использовать продукт частично. К примеру Вы можете сначала завиртуализировать код другой сторонней защитой, а потом обработать NiceProtect'ом для обфускации данных, упаковки кода и подписи Taggant сертификатом. Это может пригодиться если Вы уже используете стороннее решение, которое не содержит возможностей обфускации и упаковки. Также такая схема полезна для запутывания крекеров.
Будем рады видеть Вас в числе наших клиентов!
(C) Сергей Чубченко, разработчик DotFix NiceProtect
Комментарии |
отсутствуют |
Добавление комментария |