6 KiB
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!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
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:
- Jeśli chcesz zobaczyć reklamę swojej firmy w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCYJNY!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi trikami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.