Я хочу, чтобы приложение Java для настольных компьютеров было зашифровано / какой-то механизм, обеспечивающий его обратную разработку.
Любые указатели в этом отношении будут высоко оценены.
Вы ищете "запутывание". Этот вид техники значительно усложнит реверс-инжиниринг любого типа, «переставив» сгенерированный байт-код. Иногда это также сопровождается повышением производительности, поскольку обфускатору может потребоваться время для оптимизации байт-кода. Взгляните на такие инструменты, как ProGuard и yGuard .
Не совсем. См. Это для полной информации . Это давняя проблема с Java, примерно такая же старая, как и сам язык.
В предыдущей компании мы успешно использовали DashO.http://www.preemptive.com/products/dasho
Поймите, однако, что вы в некоторой степени открываете банку с червями.Понять, где код умер от трассировки стека, будет непросто ... имена методов и переменные запутаны, поэтому трассировки стека не имеют смысла без файла отображения DashO, созданного для этой конкретной сборки.