Как я могу избежать декомпиляции файла APK в Java в моем приложении

Кто-нибудь может помочь мне избежать декомпиляции APK моего приложения в файл Java?

я хотел бы зашифровать свой код в файле APK и избежать какого-либо инструмента для преобразования файла .apk в файл Java

Большое спасибо!

Извините: спасибо с помощью Proguard.cfg Однако: с помощью инструмента: dex2jar . Я также могу декомпилировать APK


person LTEHUB    schedule 20.02.2012    source источник
comment
Конечно. Вы определенно можете декомпилировать APK. Я вижу, что вы не приняли мой ответ. Что еще вы хотели бы узнать? Теоретически невозможно скрыть код, если вы хотите, чтобы тот же пользователь мог его запустить. Обфускация — способ усложнить задачу.   -  person Sebastian Olsson    schedule 21.02.2012


Ответы (3)


Шифрование будет сложным, но вы можете запутать байтовый код, чтобы его было труднее читать. Ознакомьтесь с Proguard.

Вы не можете сделать декомпиляцию невозможной, если хотите, чтобы она также запускалась. Это было бы верно, даже если бы ваша программа была написана, например, на C или C++ (просто сложнее).

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

person Sebastian Olsson    schedule 20.02.2012

Вы можете попытаться запутать свой код, используя, например, ProGuard. Вы можете прочитать следующую статью, в которой описан процесс Android-приложение.

person Amokrane Chentir    schedule 20.02.2012
comment
Спасибо Amokrane, после использования ProGuard я также могу декомпилировать apk с помощью инструмента: dex2jar. :(. Даже исходный код проекта в вашей ссылке. Я также могу декомпилировать. Вы объясните более подробно? - person LTEHUB; 21.02.2012
comment
Он никогда не говорил, что вы не сможете его декомпилировать. ProGuard просто запутывает его, а это значит, что код, который вы получите после декомпиляции, будет труднее читать. Предотвращение декомпиляции из APK невозможно, поскольку вы должны иметь возможность запускать код (и, следовательно, читать инструкции). - person Sebastian Olsson; 21.02.2012