# Aplicaciones Cordova {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} **Para más detalles, consulta [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**. Este es un resumen: Apache Cordova es reconocido por permitir el desarrollo de **aplicaciones híbridas** utilizando **JavaScript, HTML y CSS**. Permite la creación de aplicaciones para Android e iOS; sin embargo, carece de un mecanismo predeterminado para asegurar el código fuente de la aplicación. A diferencia de React Native, Cordova no compila el código fuente por defecto, lo que puede llevar a vulnerabilidades de manipulación de código. Cordova utiliza WebView para renderizar aplicaciones, exponiendo el código HTML y JavaScript incluso después de ser compilado en archivos APK o IPA. React Native, en cambio, emplea una VM de JavaScript para ejecutar código JavaScript, ofreciendo mejor protección del código fuente. ### Clonando una Aplicación Cordova Antes de clonar una aplicación Cordova, asegúrate de que NodeJS esté instalado junto con otros requisitos previos como el SDK de Android, Java JDK y Gradle. La [documentación](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) oficial de Cordova proporciona una guía completa para estas instalaciones. Considera un ejemplo de aplicación llamada `Bank.apk` con el nombre de paquete `com.android.bank`. Para acceder al código fuente, descomprime `bank.apk` y navega a la carpeta `bank/assets/www`. Esta carpeta contiene el código fuente completo de la aplicación, incluidos los archivos HTML y JS. La configuración de la aplicación se puede encontrar en `bank/res/xml/config.xml`. Para clonar la aplicación, sigue estos pasos: ```bash npm install -g cordova@latest cordova create bank-new com.android.bank Bank cd bank-new ``` Copia el contenido de `bank/assets/www` a `bank-new/www`, excluyendo `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` y el directorio `plugins/`. Especifica la plataforma (Android o iOS) al crear un nuevo proyecto de Cordova. Para clonar una aplicación de Android, añade la plataforma Android. Ten en cuenta que las versiones de plataforma de Cordova y los niveles de API de Android son distintos. Consulta la [documentación](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) de Cordova para obtener detalles sobre las versiones de plataforma y las API de Android compatibles. Para determinar la versión de plataforma de Cordova Android adecuada, verifica el `PLATFORM_VERSION_BUILD_LABEL` en el archivo `cordova.js` de la aplicación original. Después de configurar la plataforma, instala los plugins requeridos. El archivo `bank/assets/www/cordova_plugins.js` de la aplicación original enumera todos los plugins y sus versiones. Instala cada plugin individualmente como se muestra a continuación: ```bash cd bank-new cordova plugin add cordova-plugin-dialogs@2.0.1 ``` Si un plugin no está disponible en npm, se puede obtener de GitHub: ```bash cd bank-new cordova plugin add https://github.com/moderna/cordova-plugin-cache.git ``` Asegúrate de que se cumplan todos los requisitos previos antes de compilar: ```bash cd bank-new cordova requirements ``` Para construir el APK, usa el siguiente comando: ```bash cd bank-new cordova build android — packageType=apk ``` Este comando genera un APK con la opción de depuración habilitada, facilitando la depuración a través de Google Chrome. Es crucial firmar el APK antes de la instalación, especialmente si la aplicación incluye mecanismos de detección de manipulación de código. ### Herramienta de Automatización Para aquellos que buscan automatizar el proceso de clonación, **[MobSecco](https://github.com/Anof-cyber/MobSecco)** es una herramienta recomendada. Simplifica la clonación de aplicaciones de Android, facilitando los pasos descritos anteriormente. {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}