mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
54 lines
6.2 KiB
Markdown
54 lines
6.2 KiB
Markdown
# Cordova Apps
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
**Για περισσότερες λεπτομέρειες ελέγξτε [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**. Αυτό είναι μια περίληψη:
|
||
|
||
Το Apache Cordova αναγνωρίζεται για την δυνατότητα ανάπτυξης **υβριδικών εφαρμογών** χρησιμοποιώντας **JavaScript, HTML και CSS**. Επιτρέπει τη δημιουργία εφαρμογών για Android και iOS. Ωστόσο, δεν διαθέτει μηχανισμό από προεπιλογή για την ασφάλιση του πηγαίου κώδικα της εφαρμογής. Σε αντίθεση με το React Native, το Cordova δεν μεταγλωττίζει τον πηγαίο κώδικα από προεπιλογή, γεγονός που μπορεί να οδηγήσει σε ευπάθειες παραχάραξης κώδικα. Το Cordova χρησιμοποιεί το WebView για την απόδοση εφαρμογών, εκθέτοντας τον HTML και JavaScript κώδικα ακόμη και μετά την μεταγλώττιση σε αρχεία APK ή IPA. Το React Native, αντίθετα, χρησιμοποιεί μια JavaScript VM για την εκτέλεση του JavaScript κώδικα, προσφέροντας καλύτερη προστασία του πηγαίου κώδικα.
|
||
|
||
### Κλωνοποίηση μιας Εφαρμογής Cordova
|
||
|
||
Πριν κλωνοποιήσετε μια εφαρμογή Cordova, βεβαιωθείτε ότι το NodeJS είναι εγκατεστημένο μαζί με άλλες προϋποθέσεις όπως το Android SDK, το Java JDK και το Gradle. Η επίσημη [τεκμηρίωση](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) του Cordova παρέχει έναν ολοκληρωμένο οδηγό για αυτές τις εγκαταστάσεις.
|
||
|
||
Σκεφτείτε μια παράδειγμα εφαρμογή με το όνομα `Bank.apk` και το όνομα πακέτου `com.android.bank`. Για να αποκτήσετε πρόσβαση στον πηγαίο κώδικα, αποσυμπιέστε το `bank.apk` και πλοηγηθείτε στον φάκελο `bank/assets/www`. Αυτός ο φάκελος περιέχει τον πλήρη πηγαίο κώδικα της εφαρμογής, συμπεριλαμβανομένων των HTML και JS αρχείων. Η διαμόρφωση της εφαρμογής μπορεί να βρεθεί στο `bank/res/xml/config.xml`.
|
||
|
||
Για να κλωνοποιήσετε την εφαρμογή, ακολουθήστε αυτά τα βήματα:
|
||
```bash
|
||
npm install -g cordova@latest
|
||
cordova create bank-new com.android.bank Bank
|
||
cd bank-new
|
||
```
|
||
Αντιγράψτε τα περιεχόμενα του `bank/assets/www` στο `bank-new/www`, εξαιρώντας τα `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` και τον κατάλογο `plugins/`.
|
||
|
||
Καθορίστε την πλατφόρμα (Android ή iOS) κατά τη δημιουργία ενός νέου έργου Cordova. Για την κλωνοποίηση μιας εφαρμογής Android, προσθέστε την πλατφόρμα Android. Σημειώστε ότι οι εκδόσεις πλατφόρμας του Cordova και τα επίπεδα API Android είναι διακριτά. Ανατρέξτε στην τεκμηρίωση του Cordova [documentation](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) για λεπτομέρειες σχετικά με τις εκδόσεις πλατφόρμας και τα υποστηριζόμενα APIs Android.
|
||
|
||
Για να προσδιορίσετε την κατάλληλη έκδοση πλατφόρμας Cordova Android, ελέγξτε το `PLATFORM_VERSION_BUILD_LABEL` στο αρχείο `cordova.js` της αρχικής εφαρμογής.
|
||
|
||
Αφού ρυθμίσετε την πλατφόρμα, εγκαταστήστε τα απαιτούμενα plugins. Το αρχείο `bank/assets/www/cordova_plugins.js` της αρχικής εφαρμογής απαριθμεί όλα τα plugins και τις εκδόσεις τους. Εγκαταστήστε κάθε plugin ξεχωριστά όπως φαίνεται παρακάτω:
|
||
```bash
|
||
cd bank-new
|
||
cordova plugin add cordova-plugin-dialogs@2.0.1
|
||
```
|
||
Αν ένα plugin δεν είναι διαθέσιμο στο npm, μπορεί να ληφθεί από το GitHub:
|
||
```bash
|
||
cd bank-new
|
||
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
|
||
```
|
||
Βεβαιωθείτε ότι πληρούνται όλες οι προϋποθέσεις πριν από τη συμπίεση:
|
||
```bash
|
||
cd bank-new
|
||
cordova requirements
|
||
```
|
||
Για να δημιουργήσετε το APK, χρησιμοποιήστε την παρακάτω εντολή:
|
||
```bash
|
||
cd bank-new
|
||
cordova build android — packageType=apk
|
||
```
|
||
Αυτή η εντολή δημιουργεί ένα APK με την επιλογή αποσφαλμάτωσης ενεργοποιημένη, διευκολύνοντας την αποσφαλμάτωση μέσω του Google Chrome. Είναι κρίσιμο να υπογράψετε το APK πριν από την εγκατάσταση, ειδικά αν η εφαρμογή περιλαμβάνει μηχανισμούς ανίχνευσης παραβίασης κώδικα.
|
||
|
||
### Εργαλείο Αυτοματοποίησης
|
||
|
||
Για όσους επιθυμούν να αυτοματοποιήσουν τη διαδικασία κλωνοποίησης, **[MobSecco](https://github.com/Anof-cyber/MobSecco)** είναι ένα προτεινόμενο εργαλείο. Απλοποιεί την κλωνοποίηση εφαρμογών Android, διευκολύνοντας τα βήματα που περιγράφονται παραπάνω.
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|