# Aplikacje Cordova
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
**Aby uzyskać dalsze informacje, sprawdź [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**. Oto streszczenie:
Apache Cordova jest znany z umożliwiania tworzenia **aplikacji hybrydowych** przy użyciu **JavaScriptu, HTML i CSS**. Pozwala na tworzenie aplikacji na systemy Android i iOS, jednak nie posiada domyślnego mechanizmu zabezpieczania kodu źródłowego aplikacji. W przeciwieństwie do React Native, Cordova domyślnie nie kompiluje kodu źródłowego, co może prowadzić do podatności na manipulację kodem. Cordova wykorzystuje WebView do renderowania aplikacji, ujawniając kod HTML i JavaScript nawet po skompilowaniu do plików APK lub IPA. React Native natomiast używa maszyny wirtualnej JavaScript do wykonywania kodu JavaScript, co zapewnia lepszą ochronę kodu źródłowego.
### Klonowanie aplikacji Cordova
Przed sklonowaniem aplikacji Cordova upewnij się, że zainstalowany jest NodeJS oraz inne wymagane narzędzia, takie jak Android SDK, Java JDK i Gradle. Oficjalna [dokumentacja](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) Cordova zawiera kompleksowy przewodnik dotyczący tych instalacji.
Przyjmijmy jako przykład aplikację o nazwie `Bank.apk` o nazwie pakietu `com.android.bank`. Aby uzyskać dostęp do kodu źródłowego, rozpakuj plik `bank.apk` i przejdź do folderu `bank/assets/www`. Ten folder zawiera kompletny kod źródłowy aplikacji, w tym pliki HTML i JS. Konfiguracja aplikacji znajduje się w pliku `bank/res/xml/config.xml`.
Aby sklonować aplikację, wykonaj następujące kroki:
```bash
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
```
Skopiuj zawartość folderu `bank/assets/www` do folderu `bank-new/www`, wykluczając pliki `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` oraz katalog `plugins/`.
Podczas tworzenia nowego projektu Cordova, określ platformę (Android lub iOS). Aby sklonować aplikację Android, dodaj platformę Android. Należy pamiętać, że wersje platformy Cordova i poziomy API Androida są odrębne. Szczegółowe informacje na temat wersji platformy i obsługiwanych interfejsów API Androida znajdują się w [dokumentacji](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) Cordova.
Aby określić odpowiednią wersję platformy Cordova Android, sprawdź wartość `PLATFORM_VERSION_BUILD_LABEL` w pliku `cordova.js` oryginalnej aplikacji.
Po skonfigurowaniu platformy zainstaluj wymagane wtyczki. W pliku `bank/assets/www/cordova_plugins.js` oryginalnej aplikacji znajduje się lista wszystkich wtyczek i ich wersji. Zainstaluj każdą wtyczkę indywidualnie, jak pokazano poniżej:
```bash
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
```
Jeśli wtyczka nie jest dostępna na npm, można ją pobrać z GitHuba:
```bash
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
```
Upewnij się, że spełnione są wszystkie wymagania przed kompilacją:
```bash
cd bank-new
cordova requirements
```
Aby zbudować plik APK, użyj następującej komendy:
```bash
cd bank-new
cordova build android — packageType=apk
```
To polecenie generuje plik APK z włączoną opcją debugowania, ułatwiając debugowanie za pomocą Google Chrome. Ważne jest podpisanie pliku APK przed instalacją, zwłaszcza jeśli aplikacja zawiera mechanizmy wykrywania manipulacji kodem.
### Narzędzie automatyzacji
Dla tych, którzy chcą zautomatyzować proces klonowania, zalecane jest narzędzie **[MobSecco](https://github.com/Anof-cyber/MobSecco)**. Ułatwia ono klonowanie aplikacji na platformie Android, upraszczając opisane powyżej kroki.
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć **reklamę swojej firmy w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCYJNY**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.