Cordova Apps

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Aby uzyskać dalsze informacje, sprawdź 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 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:

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 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:

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:

cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git

Upewnij się, że spełnione są wszystkie wymagania przed kompilacją:

cd bank-new
cordova requirements

Aby zbudować plik APK, użyj następującej komendy:

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

Last updated