Cordova Apps
Daha fazla ayrıntı için https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58'e bakın. İşte bir özet:
Apache Cordova, JavaScript, HTML ve CSS kullanarak hibrit uygulamaların geliştirilmesini sağlamasıyla tanınır. Android ve iOS uygulamalarının oluşturulmasına izin verir; ancak, uygulamanın kaynak kodunu güvence altına almak için varsayılan bir mekanizma sunmaz. React Native'in aksine, Cordova kaynak kodunu varsayılan olarak derlemez, bu da kod manipülasyonu açıklarına yol açabilir. Cordova, uygulamaları render etmek için WebView'i kullanır ve HTML ve JavaScript kodunu APK veya IPA dosyalarına derlendikten sonra bile açığa çıkarır. Öte yandan, React Native, JavaScript kodunu yürütmek için bir JavaScript VM kullanır ve daha iyi kaynak kodu koruması sunar.
Bir Cordova Uygulamasını Klonlama
Bir Cordova uygulamasını klonlamadan önce, NodeJS'in yanı sıra Android SDK, Java JDK ve Gradle gibi diğer önkoşulların yüklü olduğundan emin olun. Resmi Cordova belgeleri bu kurulumlar için kapsamlı bir kılavuz sağlar.
Bank.apk
adında bir örnek uygulamayı düşünelim ve paket adı com.android.bank
olsun. Kaynak koduna erişmek için bank.apk
dosyasını açın ve bank/assets/www
klasörüne gidin. Bu klasör, uygulamanın HTML ve JS dosyaları dahil olmak üzere tam kaynak kodunu içerir. Uygulamanın yapılandırması bank/res/xml/config.xml
dosyasında bulunabilir.
Uygulamayı klonlamak için şu adımları izleyin:
bank/assets/www
klasöründeki içeriği, cordova_plugins.js
, cordova.js
, cordova-js-src/
ve plugins/
dizinini hariç tutarak bank-new/www
klasörüne kopyalayın.
Yeni bir Cordova projesi oluştururken platformu (Android veya iOS) belirtin. Bir Android uygulamasını klonlamak için Android platformunu ekleyin. Unutmayın, Cordova'nın platform sürümleri ve Android API seviyeleri farklıdır. Platform sürümleri ve desteklenen Android API'leri hakkında ayrıntılı bilgi için Cordova belgelerine başvurun.
Uygun Cordova Android platform sürümünü belirlemek için orijinal uygulamanın cordova.js
dosyasındaki PLATFORM_VERSION_BUILD_LABEL
değerini kontrol edin.
Platformu ayarladıktan sonra gerekli eklentileri yükleyin. Orijinal uygulamanın bank/assets/www/cordova_plugins.js
dosyası tüm eklentileri ve sürümlerini listeler. Aşağıda gösterildiği gibi her eklentiyi ayrı ayrı yükleyin:
Eğer bir eklenti npm'de mevcut değilse, GitHub üzerinden temin edilebilir:
Derleme yapmadan önce tüm önkoşulların karşılandığından emin olun:
APK'yi oluşturmak için aşağıdaki komutu kullanın:
Bu komut, hata ayıklamayı Google Chrome üzerinden kolaylaştıran hata ayıklama seçeneği etkinleştirilmiş bir APK oluşturur. Özellikle uygulama kodu manipülasyonu tespit mekanizmaları içeriyorsa, APK'nın kurulmadan önce imzalanması önemlidir.
Otomasyon Aracı
Klonlama sürecini otomatikleştirmek isteyenler için MobSecco önerilen bir araçtır. Bu, yukarıda açıklanan adımları basitleştirerek Android uygulamalarının klonlanmasını kolaylaştırır.
Last updated