Извините, я не очень уверен, как сформулировать заголовок вопроса. Моя проблема в том, что я разработал Java-программу, и я хочу распространять ее среди своих друзей. Поэтому я экспортирую его в Jar-файл, но я не хочу, чтобы они извлекали файл jar для просмотра кода. В любом случае, чтобы сделать программу, чтобы никто не мог получить исходный код, просто запустите программу.Как сделать программу Java unextractable
ответ
Возможно, вы запутали приложение установки с исполняемым файлом. И я также думаю, что вы запутываете приложение java jar с обычным .exe.
Даже в этом случае все это просто связки кода, которые все еще можно декомпилировать, это просто не так просто, как распаковка файла jar, который предназначен для простого извлечения.
Java предназначен для работы на JVM, поэтому его упаковка внутри .exe плохая, так как это немедленно блокирует его на Windows, что в первую очередь поражает точку Java. Поэтому я бы советовался с этим.
Как все заявили, редко, если ваша программа работает хорошо, а пользователям нравится, что они даже подумают декомпилировать ее. Но если они хотят, чтобы они были всего лишь одним веб-поиском, так или иначе (независимо от языка). Что касается коммерческого распространения, то в большинстве случаев программное обеспечение запутывается и распространяется в его .jar, с характерной для архитектуры формой запуска .exe, .app, .bin и т. Д. Не путайте пользователей с фактическим исполняемым файлом, который обычно является .jar где-нибудь.
Привет, спасибо за ваше объяснение очень ясно – user236501
Файлы Jar обычно не содержат кода. Обычно они содержат только файлы .class
(байт-код), необходимые для запуска программы.
Зависит от того, сколько усилий ваши друзья готовы сделать. В конечном счете, java всегда можно декомпилировать/трансформировать в нечто читаемое человеком. –
Для обычного онлайн-загружаемого программного обеспечения прямо у установщика exe, мы не можем получить файл класса, как они это сделали? – user236501
Вы всегда можете получить исходный код из скомпилированных файлов классов. Тем не менее, вы можете сделать жизнь тех, кто хочет декомпилировать такой код очень сложно, используя обфускатор, поэтому декомпилированный код почти невозможно прочитать. Вот список open-source java obfuscators, который вы можете изучить.
Спасибо, я пойду исследовать его – user236501
зависит от декомпилятора, распознающего шаблоны кода, сгенерированного компилятором. –
- Термин, который вы ищете, является obfuscation. В конечном счете
At best, obfuscation merely makes it time-consuming, but not impossible,
перепроектировать программу.
- Другая техника - SaaS. Хотя в конечном счете использование методов черного ящика SaaS также обратимо.
- Другой метод - доверие. Поскольку вы распространяете его на своих друзьями, вы можете попросить их не извлекать файл jar или просмотреть код. Если они действительно ваши друзья, они будут соблюдать ваш запрос.
Если для обычного онлайн-примера программного обеспечения, такого как MpTrim, Wavtrim, мы не можем сделать обратный инженер. Как они это сделали? У них есть только один файл типа приложения. – user236501
+1 для доверия. –
@ newbie123 Я не знаю, MpTrim, Wavtrim, но я знаю, что все может быть обратным инженером, с временем enuf, деньгами и усилиями. Неужели вы действительно думаете, что гораздо умнее, чем ур друзей, что вы можете что-то сделать, они не могут в конечном итоге выяснить. – emory
Вы можете выполнить часть своей программы на сервере. В основном для выполнения важной, большой и центральной функции вашей программы клиенты свяжутся с вашим сервером для вычисления этой функции.
Затем вы можете распространять клиентов для всех и сохранять код сервера для себя. Просто запустите сервер. Тогда другие не могут получить доступ ко всему источнику, но могут выполнять программное обеспечение.
Это единственный верный способ сделать это. Другие способы можно обойти несколькими способами с достаточным усилием.
Получил благодарность. – user236501
Если компьютер может запустить его, человек может его перестроить.
По правде говоря, никто не хочет, чтобы ваш исходный код. Очень самонадеянно думать, что это будет стоить усилий, необходимых для их предотвращения.
Лучшее, что вы можете сделать, это запутывание.
иногда просто из соображений безопасности ... –
Действительно? Пожалуйста, объясните - я сомневаюсь, что вы меня убедите. Если вы можете декомпилировать WebLogic, коммерческое приложение Java EE, я не вижу причин беспокоиться об этом для чего-то меньшего значения. Если вам нужно что-то защитить от клиентов, то он должен работать на сервере, к которому у них нет доступа. – duffymo
Это тоже довольно самонадеянно думать, что вы можете придумать что-то такое, что блестящие друзья ур никогда не смогут черным ящиком переделать его. – emory
- 1. Как сделать программу Java установленной?
- 2. Как сделать графическую программу?
- 3. Как сделать программу медленнее?
- 4. Как сделать исполняемую программу в java?
- 5. как сделать программу java ide бесплатно
- 6. Как сделать программу игры с гаданием Java
- 7. Как сделать простую программу Java одним методом?
- 8. Как сделать программу Java запускаться повторно
- 9. Как сделать программу sum_to?
- 10. Как сделать программу рекурсивной
- 11. Как сделать программу рисования
- 12. Как сделать загрузочную программу?
- 13. Сделать программу java сна без потоковой передачи
- 14. Каков наилучший способ сделать эту программу Java?
- 15. конструкторы java пытаются сделать простую программу
- 16. Как исправить программу Java?
- 17. Попытка сделать динамически загруженную программу Java
- 18. Попытка сделать мою первую программу работы Java
- 19. Как сделать программу быстрее [Keypad_Sticky_Note]
- 20. Как запустить java-программу?
- 21. Как запустить программу Java?
- 22. Как автоматизировать java-программу
- 23. Как сделать программу Gtk Portable
- 24. Как сделать бесплатную демонстрационную программу
- 25. Как сделать программу безопасности #c
- 26. Как сделать программу-питон одноразовым?
- 27. Как сделать программу виртуальной памятью?
- 28. Как сделать программу просмотра изображений?
- 29. Сделать программу изменения GUI
- 30. Как сделать программу способной к установке
Посмотрите на технологию, используемую в Skype. Я помню бумагу о том, что было найдено, пытаясь перестроить ее. – pascal
@pascal, не могли бы вы найти ссылку? –
Если бы я был одним из ваших друзей, я бы задался вопросом, что делает программа, которую вы не хотите, чтобы я открывал. –