2017-02-08 16 views
0

См. Второй пункт здесь (Шифрование файлов классов) Как сделать apk Secure. Защита от декомпилирования Как я могу зашифровать и дешифровать файл класса в android?Как я могу зашифровать файл класса (.class) в andorid?

+2

Вы не можете. Вы можете запутать его, есть разные инструменты, которые позволяют это сделать (ProGuard является одним из них) – BackSlash

ответ

0

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

Sign your app

Сейчас подходит к вашему вопросу о защите файла АПК из-де-компиляции, не представляется возможным полностью, но вы можете использовать некоторые профилактические меры, чтобы сделать это жесткий. Пожалуйста, перейдите по ссылке ниже

How to avoid reverse engineering of an APK file?

+0

Подписание APK не предотвращает декомпиляцию, что и ищет OP. – BackSlash

+0

Моя точка зрения была больше связана с обеспечением файла apk, который был частью исходного вопроса. И да, как вы сказали, это не остановится от декомпилирования файла apk в любом случае – Sravya

+0

OP сказал «secure», но указал, что он хочет шифровать и дешифровать файлы классов, чтобы предотвратить декомпиляцию: этот ответ не отвечает на вопрос. – BackSlash

0

Вы можете запутать код proguard (бесплатно) и dexgaurd (предприятия)

в вашем приложении Gradle:

buildTypes { 
    release { 
     minifyEnabled true 
     shrinkResources true 

     proguardFile 'proguard-google-play-services.pro' 
     proguardFile 'proguard-butter-knife.pro' 
     proguardFile 'proguard-volley.pro' 

    } 
    debug { 
     minifyEnabled false 
    } 
} 

с этим кодом в режиме выпуска ваш код запутывается.

некоторые файлы не должны затемнять, так что вы можете создать несколько файлов в корне папки приложения и на том, что вы можете установить, какой файл не должен затемнять

файлы Залп, например:

-keep class com.android.volley.** {*;} 
-keep class com.android.volley.toolbox.** {*;} 
-keep class com.android.volley.Response$* { *; } 
-keep class com.android.volley.Request$* { *; } 
-keep class com.android.volley.RequestQueue$* { *; } 
-keep class com.android.volley.toolbox.HurlStack$* { *; } 
-keep class com.android.volley.toolbox.ImageLoader$* { *; } 

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