7.4 KiB
Cordova Apps
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Для отримання додаткової інформації перегляньте 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 VM для виконання 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/
.
Вкажіть платформу (Android або iOS) під час створення нового проекту Cordova. Для клонування Android-додатку додайте платформу Android. Зверніть увагу, що версії платформ Cordova та рівні API Android є різними. Ознайомтеся з документацією Cordova для отримання деталей про версії платформ та підтримувані API Android.
Щоб визначити відповідну версію платформи 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-додатків, спрощуючи кроки, описані вище.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.