bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


seguretat_android

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
seguretat_android [2022/04/20 16:51]
enrique_mieza_sanchez [Ofuscació de codi JavaScript amb Cordova]
seguretat_android [2022/08/18 09:32] (actual)
enrique_mieza_sanchez [Pàgines sobre seguretat Android en aquesta wiki]
Línia 1: Línia 1:
 ====== Seguretat en dispositius Android ====== ====== Seguretat en dispositius Android ======
  
 +{{ android-security-1.jpg?200 }}
  
 {{tag> #Ceti #CetiMp03 #Ciber #CiberMp03 android seguretat java }} {{tag> #Ceti #CetiMp03 #Ciber #CiberMp03 android seguretat java }}
  
-===== Referències ===== +===== Pàgines sobre seguretat Android en aquesta wiki =====
-  * [[https://cacauet.org/wiki/index.php/Conceptes_generals_de_programaci%C3%B3|Codi compilat vs codi interpretat]] +
-  * [[https://cacauet.org/wiki/index.php/Microprocessador|Microprocessadors i arquitectura Von Neumann]] +
-  * [[https://github.com/skylot/jadx/|Decompilador JADX]] +
-  * Desenvolupament [[Android]] en aquesta mateixa wiki. +
  
-Paraules clau +{{topic>android +#Ceti}}
-  * Arquitectura Von Neumann +
-  * Codi compilat vs codi interpretat +
-  * Compilacions //debug// vs //release//.+
  
-\\+===== Pàgines sobre Android en aquesta wiki =====
  
-===== Posada a punt de les eines ===== +{{topic>android}}
- +
-  - Descarrega i instal·la **Android Studio**. +
-  - Descarrega el SDK adequat amb el **SDK Manager**. +
-    * Cal acceptar termes d'ús +
-  - Crea una màquina virtual Android amb **AVD Manager**. +
-    * Ull, si el disc dur principal està molt ple donarà un error indeterminat a l'intentar arrencar. +
-  - Crear una aplicació amb la plantilla //empty activity//+
-  - Comprovar que es pot compilar i executar sobre l'emulador. +
-    * Si tens una màquina poc potent l'emulador anirà molt lent. Pots llençar la teva app sobre el teu propi mòbil si el poses en mode de desenvolupament +
- +
- +
-\\ +
- +
-===== Decompilació de codi Java amb JADX ===== +
-Per a poder analitzar correctament les aplicacions amb una mica de contingut convé disposar d'una mica de codi. Es recomana que feu una simple aplicació amb un [[https://developer.android.com/guide/topics/ui/controls/button?hl=es-419|Button]] que, en prémer-ho, llanci un [[https://developer.android.com/guide/topics/ui/notifiers/toasts?hl=es-419|Toast]] amb "hello world" (utilitza un ''onClickListener'' del ''Button''). +
- +
-<WRAP todo> +
-  - [[https://github.com/skylot/jadx/releases/|Descarregar JADX]]. +
-  - Buscar l'arxiu APK dins el directori de projecte dins la app. Sol estar a: <code>app/build/intermediates/apk</code> +
-  - Engegar la versió GUI de jadx:<code>$ ./jadx-gui</code> +
-  - Obrir la APK i comprovar si es pot veure el codi original de l'aplicació. +
-    - Es veuen les estructures de control? +
-    - Es recupera el nom de variables i objectes? +
-  - Compila ara l'aplicació en mode debug i torna a respondre les preguntes anteriors. +
-</WRAP> +
- +
-\\ +
- +
-===== Ofuscació de codi Java ===== +
- +
-Pots ofuscar el codi amb el mecanisme ProGuard. Simplement activant el //minifier// del codi ja aconseguirem que la APK ja no sigui llegible al descompilar-la. +
- +
-Tens un parell de referències sobre ProGuard: +
-  * [[https://learntutorials.net/es/android/topic/9205/-que-es-proguard---que-es-el-uso-en-android-|Qué es ProGuard]] +
-  * [[https://medium.com/@angelhiadefiesta/how-to-obfuscate-in-android-with-proguard-acab47701577|Ofuscació amb ProGuard]] +
- +
-<WRAP todo> +
-  - Activa el //minifier// de ProGuard a la versió //release// de l'aplicació. +
-  - Compila (build) l'aplicació (no cal que la posis en marxa a l'emulador ja que et demanarà que tinguis claus per signar-la). +
-  - Localitza la nova APK versió //release//+
-  - Obra la APK amb JADX i respon: +
-    - Es veuen les estructures de control? +
-    - Es recupera el nom de variables i objectes? +
-</WRAP> +
- +
-\\ +
- +
-===== JavaScript en Android: Cordova ===== +
-Cal fer instal·lació de les eines de [[Cordova]]. Aquest framework permet treballar amb aplicacions JavaScript i aplicar-les a dispositius Android. +
- +
-<WRAP todo> +
-  - Clonem aplicació [[Cordova]]<code>$ git clone https://github.com/emieza/materialapp</code> +
-  - Canviem a la branca //spacenews//:<code>$ git checkout spacenews</code> +
-  - Afegim plataforma:<code>$ cordova platform add android</code> +
-  - Provem que funcioni la aplicació:<code>$ cordova run android</code> +
-    - Si no es llença l'emulador, obre el AVD Manager del Android Studio i engega'l manualment. +
-  - Busca la APK (debug) dins la carpeta de projecte. +
-  - Obre la APK amb JADX i respon: +
-    - Pots veure els arxius Java? +
-    - Estan ofuscats? +
-    - Pots veure els arxius JavaScript? +
-    - On son? +
-    - Estan ofuscats? +
-</WRAP> +
- +
-\\ +
- +
-===== Ofuscant aplicacions Android basades en JavaScript ===== +
-Aplicarem 2 plugins per ofuscar el codi de l'aplicació: +
-  * **ProGuard** (l'hem vist més amunt) per a ofuscar el codi Java (base comú de totes les apps Cordova). +
-    * Emprarem la versió [[https://github.com/greybax/cordova-plugin-proguard|plugin Cordova ProGuard]].  +
-  * **Uglify-JS** : ens permet ofuscar el codi JavaScript. Cal distingir 2 parts: +
-    - [[https://www.npmjs.com/package/uglify-js|Programa genèric UglifyJS]] que podem fer servir sempre per línia de comandes per qualsevol JS. +
-    - [[https://www.npmjs.com/package/cordova-uglify|Plugin cordova-uglifyjs]] que ens facilita aplicar-ho al nostre projecte. +
- +
-<WRAP todo> +
-  - Utilitza el [[https://github.com/emieza/materialapp|projecte materialapp]] que hem vist anteriorment. +
-  - Recorda treballar a la branca //spacenews//:<code>$ git checkout spacenews</code> +
-  - Instal·lem el plugin per activar ProGuard per al codi Java:<code>$ cordova plugin add cordova-plugin-proguard</code> +
-  - Instal·lem el plugin d'ofuscació ''uglifyjs'':<code>$ npm install cordova-uglify --save-dev</code> +
-  -  +
-</WRAP> +
- +
-\\+
  
seguretat_android.1650473509.txt.gz · Darrera modificació: 2022/04/20 16:51 per enrique_mieza_sanchez