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)
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 podrazumevano ne kompajlira izvorni kod, što može dovesti do ranjivosti u vezi sa izmenom koda. Cordova koristi WebView za prikaz 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.
Pre kloniranja Cordova aplikacije, 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 koda, 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:
Copy the contents of bank/assets/www
to bank-new/www
, excluding cordova_plugins.js
, cordova.js
, cordova-js-src/
, and the plugins/
directory.
Specify the platform (Android or iOS) when creating a new Cordova project. For cloning an Android app, add the Android platform. Note that Cordova's platform versions and Android API levels are distinct. Refer to the Cordova documentation for details on platform versions and supported Android APIs.
To determine the appropriate Cordova Android platform version, check the PLATFORM_VERSION_BUILD_LABEL
in the original application's cordova.js
file.
After setting up the platform, install the required plugins. The original application's bank/assets/www/cordova_plugins.js
file lists all the plugins and their versions. Install each plugin individually as shown below:
Ako dodatak nije dostupan na npm, može se preuzeti sa GitHub-a:
Osigurajte da su svi preduslovi ispunjeni pre nego što započnete kompajliranje:
Da biste izgradili APK, koristite sledeću komandu:
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 otkrivanje manipulacije kodom.
Za one koji žele da automatizuju proces kloniranja, MobSecco je preporučeni alat. On pojednostavljuje kloniranje Android aplikacija, olakšavajući korake opisane iznad.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)