Я работаю над проектом более двух лет для компании. Это действительно большой проект, использующий rxtx для связи с аппаратным устройством. Я использовал Java 8 и JAVAFX для пользовательского интерфейса. Сейчас оно почти закончено, и я начинаю искать, как доставить приложение для конечного пользователя, которое компания распространит среди своих клиентов.
Проблема в том, что компания, с которой я работаю, хочет, чтобы код был недоступен, когда программное обеспечение находится между конечными клиентами, потому что код Java содержит некоторую чрезвычайно чувствительную информацию, которая может иметь очень плохие последствия для компании, если конечные клиенты случились знать их. Клиенты могут буквально выполнять действия, которые они не имеют права выполнять.
Таким образом, после поиска (много) и размышлений относительно моего случая, я понял, что дать запутанный JAR не является решением. Затем я попытался сгенерировать JAR, а затем преобразовать его в EXE-файл, но все, что мне удалось, - это обернуть JAR в EXE-файл, что не мешает извлечь JAR, а затем легко увидеть весь код. Наконец, я обнаружил, что должен использовать AoT-компиляцию, такую как GCJ-компилятор, для создания собственного бинарного exe-кода из моего Java-кода, но здесь я застрял, потому что после просмотра видео, чтения статей и т. Д. Мне не удалось найти четкий способ создания собственного бинарного файла. EXE.
Теперь я в замешательстве, так как не знаю, нахожусь ли я на правильном пути и в правильном ли направлении, или я совершенно неправ, и есть ли другой способ защиты кода (по крайней мере, от непрофессиональных хакеров, я понимаю, что это не возможно сделать это на 100% безопасным, но я просто ищу разумный и хороший способ). Как мне управлять этим последним этапом моей работы?