<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
Información tomada del post [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)
Uno de los principales problemas con Cordova es que **no incluye un método por defecto para asegurar** el **código fuente** de la aplicación, a diferencia de react-native. El código fuente de la aplicación Cordova no tiene un método por defecto para compilarlo, lo que facilita la **manipulación del código**. La aplicación Cordova utiliza WebView para renderizar la aplicación usando HTML y JS, lo que revela el código fuente incluso después de compilarlo a APK o IPA, mientras que react native utiliza JavaScript VM para ejecutar el código JavaScript.
Para crear una app Cordova necesitamos instalar NodeJS. Además de NodeJS, necesitamos instalar algunas otras cosas para completar el proceso de construcción como Android SDK, Java JDK y Gradle. Puedes seguir la [documentación oficial](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) para la lista de requisitos.
Descomprime el `bank.apk` y abre la carpeta `bank/assets/www`. Podemos ver el **código fuente completo de la aplicación Cordova**. Todo el código HTML y JS se puede utilizar para crear un clon de la aplicación. También podemos encontrar el archivo de configuración de la aplicación en `bank/res/xml/config.xml`.
Al copiar el código fuente, necesitamos excluir algunos archivos y carpetas como `cordova_plugins.js, cordova.js, cordova-js-src/, plugins/`. Podemos copiar todos los archivos y carpetas excluyendo los mencionados anteriormente.
Cuando creamos un nuevo proyecto Cordova, necesitamos especificar si la aplicación es para Android o iOS. Dado que estamos clonando la aplicación Android, necesitamos agregar una plataforma Android a la misma. En Cordova tenemos las versiones de la plataforma, cada versión tiene diferentes características y soporte para las APIs de Android o versiones de Android.
Las versiones de la API de Android y la plataforma Android de Cordova son diferentes. Puedes [consultar](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) la lista de versiones de la plataforma y su soporte para las APIs de Android.
Para agregar la plataforma Android de Cordova, necesitamos averiguar qué versión fue utilizada originalmente por la aplicación. Si usas una versión diferente, podrías enfrentar problemas ya que estamos utilizando el mismo código fuente para clonar la aplicación. Puedes abrir el archivo `cordova.js` y buscar `PLATFORM_VERSION_BUILD_LABEL` para encontrar la versión utilizada por la aplicación.
Ahora que hemos agregado soporte para la plataforma Android, podemos agregar todos los plugins requeridos utilizados por la aplicación. En la aplicación original `bank/assets/www/cordova_plugins.js`, podemos encontrar una lista de todos los plugins utilizados por la aplicación. Necesitamos instalar esos plugins uno por uno. Busca `module.exports.metadata` en el archivo `cordova_plugins.js`. También podemos ver todos los plugins con sus versiones.
<figure><imgsrc="https://miro.medium.com/v2/resize:fit:1124/1*Hap3DmxS6-1apNj5RfpC3g.png"alt="Cordova Plugins"height="570"width="562"><figcaption><p>Plugins de Cordova</p></figcaption></figure>
El comando de construcción anterior creará un apk con el método de depuración habilitado, lo que nos permite depurar la aplicación usando Google Chrome. Antes de instalar el apk, asegúrate de firmar el apk. Si la aplicación tiene detección de manipulación de código, será eludida a menos que no haya una configuración específica establecida.
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sigue** a **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).