# 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.