Есть ли способ развернуть Java-программу в формате, который не подлежит обратному проектированию?
Я знаю, как преобразовать мое приложение в исполняемый файл JAR, но я хочу убедиться, что код не может быть переработан, или, по крайней мере, нелегко.
Запутывание исходного кода не считается ... оно усложняет понимание кода, но не скрывает его.
Смежный вопрос: Как заблокировать скомпилированные классы Java для предотвращения декомпиляции?
После завершения программы у меня все еще будет доступ к исходному коду, поэтому поддержка приложения не будет проблемой. Если приложение распространяется, я бы не хотел, чтобы кто-либо из пользователей мог его декомпилировать. Запутывание не достигает этого, поскольку пользователи все равно смогут его декомпилировать, и, хотя им будет трудно следить за потоками действий, они смогут увидеть код и потенциально извлечь из него информацию.
Меня беспокоит, есть ли в коде какая-либо информация, касающаяся удаленного доступа. Существует хост, к которому приложение подключается, используя идентификатор пользователя и пароль, предоставленные пользователем. Есть ли способ скрыть адрес хоста от пользователя, если этот адрес находится внутри исходного кода?