5.7 KiB
Cordova Apps
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Za više detalja pogledajte 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 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:
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 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:
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:
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:
cd bank-new
cordova requirements
Da biste izgradili APK, koristite sledeću komandu:
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 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)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.