Cordova Apps

Support HackTricks

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.

Clonare un'Applicazione Cordova

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:

npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new

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:

cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1

Se un plugin non è disponibile su npm, può essere prelevato da GitHub:

cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git

Assicurati che tutti i prerequisiti siano soddisfatti prima della compilazione:

cd bank-new
cordova requirements

Per costruire l'APK, usa il seguente comando:

cd bank-new
cordova build android  packageType=apk

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.

Strumento di Automazione

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.

Support HackTricks

Last updated