Пока они имеют доступ как к зашифрованным данным, так и к программному обеспечению, которое его расшифровывает, в принципе вы не можете полностью сделать это безопасным. Ранее было решено использовать какую-либо внешнюю черную ячейку для обработки шифрования / дешифрования, например, донглов, удаленных серверов аутентификации и т. Д. Но даже тогда, учитывая, что пользователь имеет полный доступ к своей собственной системе, это только делает вещи трудно, а не невозможно, - вы можете напрямую связать свой продукт с функциональностью, хранящейся в «черном ящике», как, скажем, в онлайн-игровых серверах.
По состоянию на сентябрь 2019 GraalVM является большей доступной и стабильной опцией рассмотреть.
https://www.graalvm.org/docs/reference-manual/languages/llvm /