Cordova Apps
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Per ulteriori dettagli controlla https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Questo è un riassunto:
Apache Cordova è riconosciuto per consentire lo sviluppo di applicazioni ibride utilizzando JavaScript, HTML e CSS. Permette la creazione di applicazioni Android e iOS; tuttavia, manca di un meccanismo predefinito per proteggere il codice sorgente dell'applicazione. A differenza di React Native, Cordova non compila il codice sorgente per impostazione predefinita, il che può portare a vulnerabilità di manomissione del codice. Cordova utilizza WebView per rendere le applicazioni, esponendo il codice HTML e JavaScript anche dopo essere stato compilato in file APK o IPA. React Native, al contrario, impiega una VM JavaScript per eseguire il codice JavaScript, offrendo una migliore protezione del codice sorgente.
Prima di clonare un'applicazione Cordova, assicurati che NodeJS sia installato insieme ad altri prerequisiti come l'Android SDK, Java JDK e Gradle. La documentazione ufficiale di Cordova fornisce una guida completa per queste installazioni.
Considera un'applicazione di esempio chiamata Bank.apk
con il nome del pacchetto com.android.bank
. Per accedere al codice sorgente, decomprimi bank.apk
e naviga nella cartella bank/assets/www
. Questa cartella contiene il codice sorgente completo dell'applicazione, inclusi i file HTML e JS. La configurazione dell'applicazione può essere trovata in bank/res/xml/config.xml
.
Per clonare l'applicazione, segui questi passaggi:
Copia il contenuto di bank/assets/www
in bank-new/www
, escludendo cordova_plugins.js
, cordova.js
, cordova-js-src/
e la directory plugins/
.
Specifica la piattaforma (Android o iOS) quando crei un nuovo progetto Cordova. Per clonare un'app Android, aggiungi la piattaforma Android. Nota che le versioni della piattaforma di Cordova e i livelli API di Android sono distinti. Consulta la documentazione di Cordova per dettagli sulle versioni della piattaforma e le API Android supportate.
Per determinare la versione appropriata della piattaforma Cordova Android, controlla il PLATFORM_VERSION_BUILD_LABEL
nel file cordova.js
dell'applicazione originale.
Dopo aver impostato la piattaforma, installa i plugin richiesti. Il file bank/assets/www/cordova_plugins.js
dell'applicazione originale elenca tutti i plugin e le loro versioni. Installa ogni plugin singolarmente come mostrato di seguito:
Se un plugin non è disponibile su npm, può essere prelevato da GitHub:
Assicurati che tutti i prerequisiti siano soddisfatti prima della compilazione:
Per costruire l'APK, usa il seguente comando:
Questo comando genera un APK con l'opzione di debug abilitata, facilitando il debug tramite Google Chrome. È fondamentale firmare l'APK prima dell'installazione, specialmente se l'applicazione include meccanismi di rilevamento delle manomissioni del codice.
Per coloro che cercano di automatizzare il processo di clonazione, MobSecco è uno strumento raccomandato. Semplifica la clonazione delle applicazioni Android, semplificando i passaggi descritti sopra.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)