Cordova Apps

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Для отримання додаткової інформації перегляньте 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.

Для клонування додатка слідувати цим крокам:

npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new

Скопіюйте вміст 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 оригінального додатка перелічені всі плагіни та їх версії. Встановіть кожен плагін окремо, як показано нижче:

cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1

Якщо плагін недоступний на npm, його можна отримати з GitHub:

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

Переконайтеся, що всі вимоги виконані перед компіляцією:

cd bank-new
cordova requirements

Для побудови APK використовуйте наступну команду:

cd bank-new
cordova build android  packageType=apk

Ця команда генерує APK з увімкненою опцією налагодження, що спрощує налагодження через Google Chrome. Надзвичайно важливо підписати APK перед встановленням, особливо якщо додаток містить механізми виявлення втручання в код.

Інструмент автоматизації

Для тих, хто прагне автоматизувати процес клонування, MobSecco є рекомендованим інструментом. Він спрощує клонування Android-додатків, спрощуючи кроки, описані вище.

Last updated