# Защита библиотек DLL и компонентов ActiveX OCX

> Библиотеки и элементы ActiveX нельзя обрабатывать точно так же, как обычные EXE-файлы. DotFix NiceProtect защищает машинный код 32- и 64-разрядных DLL и OCX с…

Canonical HTML: <https://www.dotfix.net/protect-dll-ocx-windows-applications.htm>

Защита не только исполняемых файлов

## Защита библиотек DLL и компонентов ActiveX OCX

Библиотеки и элементы ActiveX нельзя обрабатывать точно так же, как обычные EXE-файлы. DotFix NiceProtect защищает машинный код 32- и 64-разрядных DLL и OCX с учетом перемещаемых адресов, работы загрузчика и особенностей структуры компонентов.

[Проверить свой компонент](https://www.dotfixsoft.com/files/nice_protect_trial.zip)[Сравнить лицензии](https://www.dotfix.net/dotfix_niceprotect_license.htm)

### Почему библиотекам требуется особый подход

Windows может загружать DLL или OCX по разным виртуальным адресам. После защиты должны сохраняться перемещаемые структуры и данные, экспортируемые функции и точка входа, код инициализации и взаимодействие с процессом-владельцем. Универсальной схемы загрузчика, рассчитанной только на EXE, для этого недостаточно.

DotFix NiceProtect создает данные перемещений для защищенного и сгенерированного кода либо выбирает другой способ загрузки, подходящий структуре файла. Защищенные EXE также сохраняют совместимость с DEP и ASLR. При этом отдельные движки x86 и x64 точно учитывают требования каждой архитектуры.

[![Настройка защиты машинной библиотеки Windows в DotFix NiceProtect](https://www.dotfix.net/images/doc/niceprotect_62/dotfix_niceprotect_dll.png)](https://www.dotfix.net/images/doc/niceprotect_62/dotfix_niceprotect_dll.png)DotFix NiceProtect распознает структуру машинных библиотек Windows и настраивает подходящую обработку.

### Возможности защиты компонентов Windows

#### Нативные DLL x86 и x64

Упаковка, противодействие анализу и преобразование поддерживаемого кода с сохранением требований загрузчика каждой архитектуры.

#### ActiveX DLL и OCX

Защита компонентов COM/OLE, включая файлы со сведениями библиотеки типов (Type Library), которые загружаются другим приложением.

#### Обратные вызовы TLS

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

#### Выбор функций по MAP-файлу

Одноименный MAP-файл компилятора позволяет выбрать машинные функции x86 или x64 для виртуализации и мутации.

### ActiveX-компонент остается полноценным участником программы

OCX предоставляет интерфейсы и работает внутри чужого процесса. Поддержка данных компонентов в DotFix NiceProtect учитывает эти условия загрузки, а не просто оборачивает файл универсальным упаковщиком.

[Статья об архитектуре NiceProtect](https://www.dotfix.net/doc/niceprotect_62.htm) подробно описывает способы обработки перемещений в DLL и OCX и показывает оба вида компонентов.

[![Компонент ActiveX OCX, открытый в DotFix NiceProtect](https://www.dotfix.net/images/doc/niceprotect_62/dotfix_niceprotect_activex.png)](https://www.dotfix.net/images/doc/niceprotect_62/dotfix_niceprotect_activex.png)Для нативных ActiveX-компонентов доступен тот же многоуровневый процесс защиты.

### Проверяйте компонент в настоящем приложении-владельце

Испытайте ознакомительную версию на той же сборке DLL или OCX, в том же приложении и на тех архитектурах Windows, для которых готовится выпуск. Проверьте инициализацию, экспортируемые функции, регистрацию, создание COM-объектов, обратные вызовы и взаимодействие с остальной системой.

### Испытайте свою DLL или OCX до приобретения лицензии

Откройте настоящий компонент, изучите распознанную структуру и проверьте защищенную сборку в приложении-владельце.

[Скачать ознакомительную версию](https://www.dotfixsoft.com/files/nice_protect_trial.zip)[Все возможности NiceProtect](https://www.dotfix.net/dotfix_niceprotect.htm)
