2013-12-26 2 views
0

Я хочу зашифровать .jar-файл моего приложения для Android, чтобы он не мог быть декодирован каким-либо одним, чтобы просмотреть исходный код. Как я могу это достичь?Как зашифровать файл jar приложения android

+5

.jar файлы не содержат исходный код. Они содержат байт-код (который может быть декомпилирован для возможной версии исходного кода). Предполагая, что вы имели в виду, подумайте об этом: если никто не сможет расшифровать его и получить байт-код, никто не сможет его запустить, потому что это требование для его запуска. – delnan

+0

@delnan Хотя он содержит байт-код, есть несколько доступных инструментов, которые декодируют байт-код, а затем можно просмотреть исходный код. – AndyN

+0

Я знаю. Это то, о чем я говорил в своем замечании в скобках. Итак, вы рассматривали вышеупомянутую проблему? – delnan

ответ

1

Всегда можно декомпилировать его.

Вы можете только запутывать свой код, чтобы сделать его труднее понять для людей. Если ваш проект настаивает на более чем нескольких классах, усилия по его пониманию будут выше, чем любой желающий инвестировать.

Одним из инструментов для достижения этой цели, что также уменьшает размер вашего класс-файлы
ProGuard: http://proguard.sourceforge.net/

Но есть довольно некоторые подобные инструменты там.

+0

Благодарим вас за помощь. – AndyN

0

Во-первых - вы можете исключить исходный код из файлов jar. Это не требуется во время выполнения. Достаточно файлов классов.

Шифрование не поможет, если вы зашифруете файлы, JVM не сможет это понять.

Как ответили в предыдущем ответе, всегда будут инструменты декомпилировать коды байтов, вы можете сделать его более трудным для атакующего читать так, что не стоит его время

+0

Как я могу исключить исходный код из jar-файлов? – AndyN

+0

Если вы находитесь в eclipse, вы можете обратиться к этому сообщению. http://stackoverflow.com/questions/1489179/exclude-files-from-jar-or-war-in-eclipse, если нет, как вы создаете файл jar –

Смежные вопросы