Как зашифровать ресурсы HTML + JS в мобильном приложении Android Phonegap?

У меня есть мобильное приложение, созданное с использованием основной оболочки Phonegap и HTML5. Моя цель – зашифровать файлы в каталоге ресурсов (JS и HTML-файлы), чтобы они не читались для людей, которые распаковывают файл APK и хотят видеть источники JS.

Хорошо, я знаю, что нет абсолютно идеального решения. На моем пути к этому вопросу я уже пробовал варианты, как решить защиту от копирования моих источников (JS minification, obfuscation и т. Д.), Но я узнал, что очень просто добраться до исходного кода (используя JSBeautifier, firebug , Включая запутанные скрипты и т. Д.).

Поэтому мой вопрос: есть ли простой способ шифрования JS + HTML-файлов (поэтому они не читабельны и полезны при распаковке файла APK) и как реализовать его в JAVA для платформы Android?

Примечание. Я не знаю языка JAVA, поэтому, пожалуйста, включите рабочий пример, который я могу использовать.

Edit: Я также изучил функцию ProGuard при создании окончательного пакета APK, но для меня это бесполезно, потому что он касается только файлов JAVA, но оставляет каталог ресурсов как есть.

Некоторое время назад у меня такая же проблема, но на iOS. И результат был только после исправления PhoneGap для iOS. Я написал статью по адресу http://oleksiy.pro/2011/09/20/phonegap-application-encryption/ . Кроме того, для Android этот метод может быть слабым, потому что код java может быть декомпилирован на 99%, а хакер увидит ваш ключ.

Нет простого способа сделать это. Если вы хотите зашифровать свой JavaScript, вам понадобится какой-то ключ для его расшифровки. Ключ нельзя сохранить на устройстве с тех пор, как легко найти ключ и расшифровать исходный код. Iff ваше приложение требует от пользователя входа в систему, вы можете вернуть ключ шифрования после входа пользователя в систему и использовать этот ключ для дешифрования файлов JS и HTML. Существуют стандартные библиотеки шифрования Android, которые можно использовать с помощью плагина PhoneGap.

Сказав это, это просто JavaScript, поэтому, если есть что-то, что вам действительно нужно зашифровать, вы, вероятно, должны рассмотреть возможность изменения своего подхода.

Лучшая комбинация, которую я нашел, – DojoToolkit и Closure Compiler в расширенном режиме.

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

Эта ссылка для использования инструментария Dojo с компилятором Closure в расширенном режиме для мобильных приложений:

http://dojo-toolkit.33424.n3.nabble.com/file/n2636749/Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf?by-user=t

И, конечно же, Dojo Toolkit хорошо работает с PhoneGap.

Вы можете использовать webview и загрузить строку base64:

protected String base64Str = "+wL00h2L...."; wv1.loadData(base64Str, "text/html; charset=utf-8", "base64");