AxProtector Java

Поделиться

Автоматическая защита для Java-приложений

AxProtector Java – это идеальное решение, rоторое позволит сократить время и трудозатраты на интеграцию защиты в Java-приложения. С AxProtector Java Вы можете защитить ПО от пиратства и методов обратного анализа кода полностью в автоматическом режиме.

AxProtector Java может работать из командной строки и запускаться в режиме продолжительной интеграции (continuous integration) в автоматизированной системе сборки.

AxProtector Java can hide special CodeMeter commands as honeypot traps in the form of additional methods injected into your code. Any would-be attacker trying to crack all encrypted functions will, at some point, stumble into one of the traps. This would activate the secret command and lock the license – stopping the attacker in his tracks and preventing any further decryption of more functions. On top of these automatically set traps, you can also add your own methods to make for even more alluring honeypots. This clever trick makes AxProtector Java an extremely strong safeguard against the systematic decryption of protected software.

Compared to simple, run-of-the-mill obfuscators, AxProtector Java guarantees a far higher level of security. While standard obfuscation only changes names and scrambles code, AxProtector Java secures the executable code with tough 256-bit AES encryption. This makes it impossible to decompile the protected application on the drive even with the right tools; the code is decrypted in the safe environment of a dongle or a Windows service, making it even harder to reach for would-be attackers than simple obfuscation on the Java level. Without the right license and the right keys, an attacker could not even extract the code from the device’s memory. Hidden traps are set to make the wholescale decryption of all methods impossible in practice: At some point, a trap would be sprung and the license locked, barring the key for any other attempted attacks. But it is not its added security alone that sets AxProtector Java apart from regular obfuscators: As the names of functions do not need to be changed, features like reflection or remoting are available as usual and without having to compromise on security.

AxProtector Java 2-ого поколения

Утилита AxProtector Java 2-ого поколения представляет собой комплексную и высокотехнологичную автоматическую систему защиты для приложений Java SE (J2SE) и Java EE (J2EE). Утилита позволяет выполнять раздельное шифрование различных классов и методов. А чтобы увеличить производительность работы приложения, отдельные классы и методы могут не шифроваться.

«Оболочка безопасности» под названием AxEngine добавляется к Java-приложению. При первом его вызове метод AxEngine регистрируется в среде исполнения. Он запускается автоматически в процессе загрузки всех классов и методов. Данный метод AxEngine отвечает за проверку автоматического расшифрования защищенных классов и методов. В состав AxEngine входят компоненты Java и JNI (Java Native Interface).

AxProtector Java 1-ого поколения

AxProtector Java 1-ого поколения все еще доступен для обеспечения совместимости. Он шифрует приложения Java SE (J2SE) на уровне классов. Поэтому каждый класс шифруется отдельно. Для обеспечения большей производительности отдельные классы можно исключить из процесса шифрования.

Оболочка безопасности AxEngine и замещающий класс (wrapper class) добавляются к Java-приложению. Оболочка добавляется в качестве нового основного класса и запускается первой. Сам замещающий класс сначала подгружает загрузчик Wibu-классов, а потом первоначальный класс. Загрузчик отвечает за расшифрование защищенных классов. Он использует AxEngine, который состоит из компонентов Java и JNI.

Безопасность за счет использования JNI

Расшифрование и большая часть проверок безопасности производятся с помощью нативной составляющей JNI оболочки AxEngine. Без соответствующей лицензии в ключе CmDongle или CmActLicense расшифрование невозможно. По сравнению с решениями «Java-только» использование нативных компонентов значительно повышает уровень безопасности. Нативные компоненты доступны для Windows, macOS и Linux.

AxProtector Java добавляет современные антиотладочные механизмы защиты к Java-приложению. Защищенное приложение осуществляет проверку виртуальной машины (ВМ), на которой запускается. Это машина должна быть оригинальной ВМ Oracle Java. Запуск приложения в измененной или самописной ВМ, которая, например, делает дамп расшифрованных классов, не возможен (если определено, что виртуальная машина отличается от оригинальной, то приложение не запускается, и классы не расшифровываются). Отладочные интерфейсы типа JVMTI также идентифицируются.

Использование CodeMeter API

AxProtector Java обеспечивает высокоуровневой защитой с минимальными трудозатратами в отличие от использования CodeMeter API, встраиваемых в приложение функций защиты. Для обеспечения дополнительного уровня защиты можно также добавить CodeMeter API. Применение криптофункций API позволит увеличить уровень защиты программного обеспечения и ввести специфические запросы лицензии.

Индивидуальное лицензирование

Используя AxProtector Java, можно шифровать отдельные куски кода Java-приложения, назначая им различные коды продуктов (Product Code). Создавая лицензию с этими кодами, можно ограничить используемое приложение только согласно приобретаемой клиентом функциональности. В случае использования CodeMeter API есть возможность включения или отключения графических элементов, таких как кнопки меню и пр.

Шифрование с применением различных кодов продуктов обеспечивает максимальной безопасностью. Каждый код использует свой AES-ключ для шифрования приложения. Без наличия нужного кода продукта, этот ключ будет не доступен и несанкционированное шифрование станет невозможным.

Защита от обратного анализа кода без лицензирования

Как и с любым другим компонентом пакета разработчика, AxProtector Java 1-ого и 2-ого поколений может использоваться только для реализации защиты приложения (лицензия типа «Защита только»). В этом случае в поставку с программным обеспечением входят и CodeMeter Runtime и уже активированная лицензия. Расшифрование приложения происходит в нативной части CodeMeter Runtime, который усовершенствует стандарты безопасности по сравнению с решениями «Java-только».

IP Protection Mode

The IP Protection mode was created with freeware and freemium models in mind, but also works perfectly in combination with licensing. By contrast to the basic configuration, the encryption is not bound to a CodeMeter license. The key needed for decryption is securely hidden in the application itself. The application can be run at any time.

For freemium models, this IP Protection mode can be combined with individual licensing: Parts of the application in question are encrypted in the IP Protection mode and stay always available; other parts are bound to a license and can only be used by users who own the right license. The API can be used to check whether a feature is available or not (check_license).

Interested in a personalized offer for our CodeMeter technology? Just answer a few questions and our team will get back to you with all the information you need.

Submit

To top