5.9 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.
Para mais detalhes, consulte 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 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:
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 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:
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:
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:
cd bank-new
cordova requirements
Para construir o APK, use o seguinte comando:
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 é uma ferramenta recomendada. Ela simplifica a clonagem de aplicativos Android, facilitando os passos descritos acima.
{% 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.