Cordova Apps
Za dalje detalje pogledajte https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Ovo je sažetak:
Apache Cordova je prepoznat po omogućavanju razvoja hibridnih aplikacija koristeći JavaScript, HTML i CSS. Omogućava kreiranje Android i iOS aplikacija; međutim, nedostaje mu podrazumevani mehanizam za zaštitu izvornog koda aplikacije. Za razliku od React Native-a, Cordova ne kompajlira izvorni kod podrazumevano, što može dovesti do ranjivosti izmenjivanja koda. Cordova koristi WebView za prikazivanje aplikacija, izlažući HTML i JavaScript kod čak i nakon što su kompajlirani u APK ili IPA fajlove. Sa druge strane, React Native koristi JavaScript VM za izvršavanje JavaScript koda, pružajući bolju zaštitu izvornog koda.
Kloniranje Cordova Aplikacije
Pre kloniranja Cordova aplikacije, proverite da li je NodeJS instaliran zajedno sa ostalim preduslovima kao što su Android SDK, Java JDK i Gradle. Zvanična Cordova dokumentacija pruža sveobuhvatan vodič za ove instalacije.
Uzmimo za primer aplikaciju nazvanu Bank.apk
sa paket imenom com.android.bank
. Da biste pristupili izvornom kodu, raspakujte bank.apk
i navigirajte do foldera bank/assets/www
. Ovaj folder sadrži kompletni izvorni kod aplikacije, uključujući HTML i JS fajlove. Konfiguracija aplikacije se može pronaći u bank/res/xml/config.xml
.
Da biste klonirali aplikaciju, pratite ove korake:
Kopirajte sadržaj bank/assets/www
u bank-new/www
, isključujući cordova_plugins.js
, cordova.js
, cordova-js-src/
i direktorijum plugins/
.
Prilikom kreiranja novog Cordova projekta, navedite platformu (Android ili iOS). Za kloniranje Android aplikacije, dodajte Android platformu. Imajte na umu da su verzije platforme Cordova i nivoi Android API-ja različiti. Za detalje o verzijama platforme i podržanim Android API-jima, pogledajte Cordova dokumentaciju.
Da biste odredili odgovarajuću verziju Cordova Android platforme, proverite PLATFORM_VERSION_BUILD_LABEL
u cordova.js
fajlu originalne aplikacije.
Nakon podešavanja platforme, instalirajte potrebne dodatke. Fajl bank/assets/www/cordova_plugins.js
originalne aplikacije navodi sve dodatke i njihove verzije. Instalirajte svaki dodatak pojedinačno kako je prikazano ispod:
Ako plugin nije dostupan na npm-u, može se preuzeti sa GitHub-a:
Proverite da su ispunjeni svi preduslovi pre kompajliranja:
Da biste izgradili APK, koristite sledeću komandu:
Ova komanda generiše APK sa omogućenom opcijom za debagovanje, 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.
Alat za automatizaciju
Za one koji žele automatizovati proces kloniranja, preporučeni alat je MobSecco. On pojednostavljuje proces kloniranja Android aplikacija, olakšavajući korake opisane gore.
Last updated