# Cordova Apps {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} **Za više detalja pogledajte [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**. Ovo je sažetak: Apache Cordova je prepoznat kao alat za razvoj **hibridnih aplikacija** koristeći **JavaScript, HTML i CSS**. Omogućava kreiranje Android i iOS aplikacija; međutim, nema podrazumevani mehanizam za zaštitu izvornog koda aplikacije. Za razliku od React Native, Cordova ne kompajlira izvorni kod podrazumevano, što može dovesti do ranjivosti u vezi sa izmenom koda. Cordova koristi WebView za prikazivanje aplikacija, izlažući HTML i JavaScript kod čak i nakon što su kompajlirani u APK ili IPA datoteke. React Native, s druge strane, koristi JavaScript VM za izvršavanje JavaScript koda, nudeći bolju zaštitu izvornog koda. ### Kloniranje Cordova Aplikacije Pre nego što klonirate Cordova aplikaciju, osigurajte da je NodeJS instaliran zajedno sa drugim potrebnim alatima kao što su Android SDK, Java JDK i Gradle. Zvanična Cordova [dokumentacija](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) pruža sveobuhvatan vodič za ove instalacije. Razmotrite primer aplikacije pod nazivom `Bank.apk` sa paketnim imenom `com.android.bank`. Da biste pristupili izvoru, raspakujte `bank.apk` i idite u folder `bank/assets/www`. Ovaj folder sadrži kompletan izvorni kod aplikacije, uključujući HTML i JS datoteke. Konfiguracija aplikacije može se naći u `bank/res/xml/config.xml`. Da biste klonirali aplikaciju, pratite ove korake: ```bash npm install -g cordova@latest cordova create bank-new com.android.bank Bank cd bank-new ``` Kopirajte sadržaj `bank/assets/www` u `bank-new/www`, isključujući `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` i direktorijum `plugins/`. Navedite platformu (Android ili iOS) prilikom kreiranja novog Cordova projekta. Za kloniranje Android aplikacije, dodajte Android platformu. Imajte na umu da su verzije platformi Cordova i Android API nivoi različiti. Pogledajte Cordova [dokumentaciju](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) za detalje o verzijama platformi i podržanim Android API-ima. Da biste odredili odgovarajuću verziju Cordova Android platforme, proverite `PLATFORM_VERSION_BUILD_LABEL` u originalnom `cordova.js` fajlu aplikacije. Nakon postavljanja platforme, instalirajte potrebne plugine. Originalni `bank/assets/www/cordova_plugins.js` fajl aplikacije navodi sve plugine i njihove verzije. Instalirajte svaki plugin pojedinačno kao što je prikazano u nastavku: ```bash cd bank-new cordova plugin add cordova-plugin-dialogs@2.0.1 ``` Ako dodatak nije dostupan na npm, može se preuzeti sa GitHub-a: ```bash cd bank-new cordova plugin add https://github.com/moderna/cordova-plugin-cache.git ``` Osigurajte da su svi preduslovi ispunjeni pre nego što započnete kompajliranje: ```bash cd bank-new cordova requirements ``` Da biste izgradili APK, koristite sledeću komandu: ```bash cd bank-new cordova build android — packageType=apk ``` Ova komanda generiše APK sa omogućenom debug opcijom, olakšavajući debagovanje putem Google Chrome-a. Ključno je potpisati APK pre instalacije, posebno ako aplikacija uključuje mehanizme za detekciju manipulacije kodom. ### Alat za automatizaciju Za one koji žele da automatizuju proces kloniranja, **[MobSecco](https://github.com/Anof-cyber/MobSecco)** je preporučeni alat. On pojednostavljuje kloniranje Android aplikacija, olakšavajući korake opisane iznad. {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}