JavaCrypter — защита байткода Java-приложений от декомпиляции для лицензируемых сборок

Ссылка на работу
Одной из главных проблем Java является то, что скомпилированный байткод достаточно легко восстановить в практически читаемый исходный код. Современные декомпиляторы (CFR, Fernflower, javap и другие) без особых усилий извлекают бизнес-логику, алгоритмы, механизмы лицензирования и другие внутренние детали приложения. Для коммерческих Java-приложений это серьёзная проблема: злоумышленник может изучить логику защиты, изменить её или полностью отключить проверку лицензии. В рамках этого проекта я разработал инструмент, который интегрируется в процесс сборки и преобразует обычный JAR-файл в защищённую версию. Полученный архив не может быть корректно обработан стандартной JVM и большинством популярных декомпиляторов, однако полностью работоспособен в специально модифицированной JVM, которая поставляется только лицензированным пользователям. Главная цель проекта — не просто классическая обфускация, а изменение самого формата исполняемого байткода, понятного только собственной среде выполнения.
https://github.com/MerkiiChess/JavaCrypter