Cordova Apps
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:
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:
Jeśli wtyczka nie jest dostępna na npm, można ją pobrać z GitHuba:
Upewnij się, że spełnione są wszystkie wymagania przed kompilacją:
Aby zbudować plik APK, użyj następującej komendy:
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.
Last updated