bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
decompilacio_apps_binaries_hibrides

Decompilació d’apps binàries i d’apps híbrides

En l'actualitat, les aplicacions mòbils són una part integral de la nostra vida quotidiana. Utilitzem aplicacions per comunicar-nos, realitzar operacions bancàries, comprar en línia i molt més. No obstant això, en un entorn digital cada vegada més complex i amb més amenaces, la seguretat de les aplicacions mòbils és una preocupació creixent. En aquest article, explorarem la decompilació d'apps binàries i d'apps híbrides en el context del sistema operatiu Android, comparant-lo amb iOS, i presentarem exercicis per als alumnes que permetin aprofundir en aquest tema.

Decompilació d'Apps Binàries en Android La decompilació d'apps binàries és el procés de desensamblar i analitzar el codi font d'una aplicació compilada. En el cas d'Android, les aplicacions estan escrites principalment en Java o Kotlin i són compilades en un format executable (APK). Els atacants poden utilitzar eines com JD-GUI, APKTool o JADX per decompilar les aplicacions i accedir al seu codi font original. La decompilació d'apps binàries en Android pot revelar informació sensible, com ara algorismes de xifrat, claus de seguretat, URLs de serveis web i dades confidencials emmagatzemades a l'aplicació. Això pot permetre als atacants comprendre el funcionament intern de l'aplicació i identificar possibles vulnerabilitats de seguretat.

Decompilació d'Apps Híbrides en Android Les apps híbrides són aplicacions mòbils que combinen tecnologies web (HTML, CSS i JavaScript) amb tecnologies nativas. Aquestes apps són desenvolupades utilitzant frameworks com Apache Cordova o React Native, que permeten utilitzar els mateixos codis font per a diferents plataformes, com Android i iOS. La decompilació d'apps híbrides implica la mateixa metodologia que la de les apps natives. No obstant això, el codi font de les parts web de les apps híbrides és relativament més accessible, ja que està escrit en llenguatges oberts com HTML i JavaScript. Això facilita la seva comprensió i potencia l'exploració de possibles vulnerabilitats relacionades amb l'ús de tecnologies web.

Comparació amb iOS En comparació amb Android, iOS té un entorn de seguretat més restringit i controlat. Les aplicacions per a dispositius iOS són distribuïdes a través de l'App Store i estan sotmeses a un procés de revisió rigorós per part d'Apple abans de ser publicades. Aquest procés inclou la revisió del codi de l'aplicació per identificar possibles problemes de seguretat i garantir la seva conformitat amb les polítiques d'Apple. A més, iOS utilitza un sistema de protecció anomenat «sandboxing» que aïlla les aplicacions i limita la seva interacció amb altres parts del sistema operatiu. Això dificulta la decompilació i l'anàlisi del codi font de les aplicacions en dispositius iOS.

Exercicis

  • 1. Identifica una aplicació Android popular i utilitza l'APKTool per decompilar-la. Examina el codi font obtingut i busca possibles vulnerabilitats relacionades amb l'emmagatzematge de dades sensibles o la gestió d'autenticació.
  • 2. Selecciona una app híbrida basada en Apache Cordova i utilitza una eina com PhoneGap Developer App per a compilar-la i executar-la en un dispositiu Android. Utilitza eines com Chrome Developer Tools per inspeccionar i analitzar el codi font web de l'aplicació. Cerca possibles vulnerabilitats relacionades amb la comunicació amb serveis web o l'ús de plugins.
  • 3. Investiga sobre el procés de revisió d'aplicacions per a iOS a l'App Store. Compara aquest procés amb la distribució d'aplicacions per a Android. Discuteix els avantatges i desavantatges de cada sistema des d'una perspectiva de seguretat.
  • 4. Explorarem el procés de decompilació d'apps binàries en la plataforma mòbil Android i destacarem les configuracions importants per dur a terme aquest procés amb èxit:
  1. 1. Configuració de l'entorn: Per començar amb el procés de decompilació d'apps binàries en Android, necessitem configurar un entorn de desenvolupament adequat. Aquí hi ha algunes de les configuracions clau a tenir en compte:

a. Java Development Kit (JDK): Assegureu-vos que teniu instal·lada la versió adequada del JDK en el vostre sistema. La decompilació d'aplicacions requereix eines que funcionen amb Java, per tant, assegureu-vos de tenir el JDK instal·lat i configurat correctament.

b. Android SDK: L'Android Software Development Kit (SDK) és necessari per accedir a les eines i recursos per desenvolupar aplicacions Android. Assegureu-vos de tenir instal·lada la versió més recent de l'SDK i configureu-la amb les rutes de sistema adequades.

c. Descompilador: Existeixen diverses eines populars per a la decompilació d'aplicacions Android, com ara Apktool, JADX, Dex2Jar, entre altres. Assegureu-vos de descarregar i configurar l'eina de decompilació que millor s'adapti a les vostres necessitats i preferències.

  1. 2. Decompilació de l'aplicació:

Un cop configurat l'entorn de desenvolupament, podem començar el procés de decompilació de l'aplicació Android. Aquest procés generalment es divideix en els següents passos:

a. Extracció de l'APK: L'APK (Android Package) és el fitxer de l'aplicació binària que s'instal·la en un dispositiu Android. Extraieu l'APK de l'aplicació de destinació mitjançant eines com ara adb (Android Debug Bridge) o altres mètodes disponibles.

b. Descompilació de recursos: Utilitzeu l'eina de decompilació seleccionada per descomprimir els recursos de l'APK. Això inclou el desmuntatge dels fitxers XML, imatges, recursos de configuració i altres elements que formen part de l'aplicació.

c. Descompilació de codi font: Mitjançant l'eina de decompilació adequada, procediu a descompilar el codi font de l'aplicació. Aquest procés converteix els fitxers .dex (Dalvik Executable) o .class en codi font Java llegible.

  1. 3. Configuració de l'entorn de desenvolupament:

Un cop s'hagi realitzat la decompilació de l'aplicació, és útil configurar un entorn de desenvolupament per explorar i analitzar el codi font obtingut. Aquestes configuracions poden incloure:

a. Editor de text o IDE: Utilitzeu un editor de text o un entorn de desenvolupament integrat (IDE) per navegar i analitzar el codi font. Hi ha diverses opcions populars disponibles com ara Android Studio, Eclipse, Visual Studio Code, entre altres.

b. Dependències i biblioteques: Identifiqueu les dependències i biblioteques utilitzades per l'aplicació. Això pot ajudar a comprendre millor el funcionament de l'aplicació i a desenvolupar possibles extensions o integracions amb altres sistemes.

c. Configuració del simulador o dispositiu: Configureu un emulador d'Android o connecteu un dispositiu real per provar i executar l'aplicació descompilada. Això us permetrà comprendre millor el comportament de l'aplicació i realitzar proves de manera més eficient.

Resumint

La decompilació d'apps binàries i d'apps híbrides en un entorn de plataformes mòbils presenta desafiaments significatius en la seguretat de les aplicacions. Tant en el cas d'Android com en el cas d'iOS, és important comprendre els riscos associats a aquests processos i prendre les mesures adequades per protegir les aplicacions contra possibles vulnerabilitats. Els exercicis presentats en aquest article permeten als alumnes explorar aquests conceptes i aprofundir en els aspectes de seguretat en el desenvolupament d'aplicacions mòbils. La decompilació d'aplicacions binàries en la plataforma mòbil Android pot ser un procés complex, però amb les configuracions adequades i les eines de decompilació correctes, és possible analitzar i entendre el funcionament intern d'una aplicació. Recorda que la decompilació d'aplicacions només hauria de realitzar-se per a fins legítims i respectant els drets d'autor i les lleis de protecció de dades. Amb l'ús adequat i ètic, la decompilació pot ser una eina valuosa per al desenvolupament i l'anàlisi d'aplicacions Android.

decompilacio_apps_binaries_hibrides.txt · Darrera modificació: 2023/07/04 16:27 per eva_maria_barbeito_andrade