Cordova Apps
Для отримання додаткової інформації перегляньте https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Це короткий опис:
Apache Cordova відомий тим, що дозволяє розробку гібридних додатків за допомогою JavaScript, HTML та CSS. Він дозволяє створювати додатки для Android та iOS, проте він не має стандартного механізму для захисту вихідного коду додатка. На відміну від React Native, Cordova не компілює вихідний код за замовчуванням, що може призвести до вразливостей на зміну коду. Cordova використовує WebView для відображення додатків, викриваючи HTML- та JavaScript-код навіть після компіляції в файли APK або IPA. З іншого боку, React Native використовує віртуальну машину JavaScript для виконання JavaScript-коду, що забезпечує кращий захист вихідного коду.
Клонування додатка Cordova
Перед клонуванням додатка Cordova переконайтеся, що встановлено NodeJS разом з іншими передумовами, такими як Android SDK, Java JDK та Gradle. Офіційна документація Cordova надає вичерпний посібник щодо цих встановлень.
Розглянемо приклад додатка з назвою Bank.apk
з ім'ям пакету com.android.bank
. Для доступу до вихідного коду розпакуйте bank.apk
та перейдіть до папки bank/assets/www
. Ця папка містить повний вихідний код додатка, включаючи файли HTML та JS. Конфігурацію додатка можна знайти в bank/res/xml/config.xml
.
Для клонування додатка слідувати цим крокам:
Скопіюйте вміст bank/assets/www
до bank-new/www
, виключивши cordova_plugins.js
, cordova.js
, cordova-js-src/
та каталог plugins/
.
При створенні нового проекту Cordova вказуйте платформу (Android або iOS). Для клонування Android додатка додайте платформу Android. Зверніть увагу, що версії платформ Cordova та рівні API Android є різними. Для отримання детальної інформації про версії платформ та підтримувані API Android, дивіться документацію Cordova тут.
Для визначення відповідної версії платформи Cordova Android перевірте PLATFORM_VERSION_BUILD_LABEL
у файлі cordova.js
оригінального додатка.
Після налаштування платформи встановіть необхідні плагіни. У файлі bank/assets/www/cordova_plugins.js
оригінального додатка перелічені всі плагіни та їх версії. Встановіть кожен плагін окремо, як показано нижче:
Якщо плагін недоступний на npm, його можна отримати з GitHub:
Переконайтеся, що всі вимоги виконані перед компіляцією:
Для побудови APK використовуйте наступну команду:
Ця команда генерує APK з увімкненою опцією налагодження, що спрощує налагодження через Google Chrome. Надзвичайно важливо підписати APK перед встановленням, особливо якщо додаток містить механізми виявлення втручання в код.
Інструмент автоматизації
Для тих, хто прагне автоматизувати процес клонування, MobSecco є рекомендованим інструментом. Він спрощує клонування Android-додатків, спрощуючи кроки, описані вище.
Last updated