# Cordova Apps {% hint style="success" %} Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) <details> <summary>Support HackTricks</summary> * 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. </details> {% endhint %} **Para mais detalhes, consulte [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 é um resumo: Apache Cordova é reconhecido por permitir o desenvolvimento de **aplicações híbridas** usando **JavaScript, HTML e CSS**. Ele permite a criação de aplicações Android e iOS; no entanto, não possui um mecanismo padrão para proteger o código-fonte da aplicação. Em contraste com o React Native, o Cordova não compila o código-fonte por padrão, o que pode levar a vulnerabilidades de manipulação de código. O Cordova utiliza WebView para renderizar aplicações, expondo o código HTML e JavaScript mesmo após ser compilado em arquivos APK ou IPA. O React Native, por outro lado, emprega uma VM JavaScript para executar o código JavaScript, oferecendo melhor proteção do código-fonte. ### Clonando uma Aplicação Cordova Antes de clonar uma aplicação Cordova, certifique-se de que o NodeJS está instalado junto com outros pré-requisitos, como o Android SDK, Java JDK e Gradle. A [documentação oficial do Cordova](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) fornece um guia abrangente para essas instalações. Considere um exemplo de aplicação chamada `Bank.apk` com o nome do pacote `com.android.bank`. Para acessar o código-fonte, descompacte `bank.apk` e navegue até a pasta `bank/assets/www`. Esta pasta contém o código-fonte completo da aplicação, incluindo arquivos HTML e JS. A configuração da aplicação pode ser encontrada em `bank/res/xml/config.xml`. Para clonar a aplicação, siga estes passos: ```bash npm install -g cordova@latest cordova create bank-new com.android.bank Bank cd bank-new ``` Copie o conteúdo de `bank/assets/www` para `bank-new/www`, excluindo `cordova_plugins.js`, `cordova.js`, `cordova-js-src/` e o diretório `plugins/`. Especifique a plataforma (Android ou iOS) ao criar um novo projeto Cordova. Para clonar um aplicativo Android, adicione a plataforma Android. Observe que as versões da plataforma do Cordova e os níveis da API do Android são distintos. Consulte a [documentação](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) do Cordova para detalhes sobre versões de plataforma e APIs do Android suportadas. Para determinar a versão apropriada da plataforma Cordova Android, verifique o `PLATFORM_VERSION_BUILD_LABEL` no arquivo `cordova.js` do aplicativo original. Após configurar a plataforma, instale os plugins necessários. O arquivo `bank/assets/www/cordova_plugins.js` do aplicativo original lista todos os plugins e suas versões. Instale cada plugin individualmente, conforme mostrado abaixo: ```bash cd bank-new cordova plugin add cordova-plugin-dialogs@2.0.1 ``` Se um plugin não estiver disponível no npm, ele pode ser obtido do GitHub: ```bash cd bank-new cordova plugin add https://github.com/moderna/cordova-plugin-cache.git ``` Certifique-se de que todos os pré-requisitos sejam atendidos antes de compilar: ```bash cd bank-new cordova requirements ``` Para construir o APK, use o seguinte comando: ```bash cd bank-new cordova build android — packageType=apk ``` Este comando gera um APK com a opção de depuração ativada, facilitando a depuração via Google Chrome. É crucial assinar o APK antes da instalação, especialmente se a aplicação incluir mecanismos de detecção de adulteração de código. ### Ferramenta de Automação Para aqueles que buscam automatizar o processo de clonagem, **[MobSecco](https://github.com/Anof-cyber/MobSecco)** é uma ferramenta recomendada. Ela simplifica a clonagem de aplicativos Android, facilitando os passos descritos acima. {% hint style="success" %} Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) <details> <summary>Support HackTricks</summary> * 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. </details> {% endhint %}