hacktricks/mobile-pentesting/cordova-apps.md

77 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Cordova 应用
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家)</strong></a><strong></strong></summary>
支持 HackTricks 的其他方式:
* 如果您想看到您的**公司在 HackTricks 中做广告**或**下载 PDF 版本的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 探索[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) 上**关注**我们。
* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来**分享您的黑客技巧**。
</details>
**有关更多详细信息,请查看 [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**。这是一个摘要:
Apache Cordova 以使用 **JavaScript、HTML 和 CSS** 开发 **混合应用** 而闻名。它允许创建 Android 和 iOS 应用程序;然而,它缺乏默认的机制来保护应用程序的源代码。与 React Native 相反Cordova 默认不编译源代码这可能导致代码篡改漏洞。Cordova 使用 WebView 来渲染应用程序,即使编译为 APK 或 IPA 文件,仍会暴露 HTML 和 JavaScript 代码。相比之下React Native 使用 JavaScript VM 来执行 JavaScript 代码,提供更好的源代码保护。
### 克隆 Cordova 应用
在克隆 Cordova 应用之前,请确保已安装 NodeJS 以及其他先决条件,如 Android SDK、Java JDK 和 Gradle。官方 Cordova [文档](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) 提供了这些安装的详细指南。
假设有一个名为 `Bank.apk` 的示例应用,包名为 `com.android.bank`。要访问源代码,请解压 `bank.apk` 并导航至 `bank/assets/www` 文件夹。该文件夹包含应用程序的完整源代码,包括 HTML 和 JS 文件。应用程序的配置可以在 `bank/res/xml/config.xml` 中找到。
要克隆应用程序,请按照以下步骤操作:
```bash
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/`目录。
在创建新的Cordova项目时需要指定平台Android或iOS。要克隆Android应用程序请添加Android平台。请注意Cordova的平台版本和Android API级别是不同的。有关平台版本和支持的Android API的详细信息请参考Cordova的[文档](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/)。
要确定适当的Cordova Android平台版本请检查原始应用程序的`cordova.js`文件中的`PLATFORM_VERSION_BUILD_LABEL`。
设置平台后,安装所需的插件。原始应用程序的`bank/assets/www/cordova_plugins.js`文件列出了所有插件及其版本。请按照以下示例逐个安装每个插件:
```bash
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
```
如果一个插件在 npm 上不可用,可以从 GitHub 获取:
```bash
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
```
确保在编译之前满足所有先决条件:
```bash
cd bank-new
cordova requirements
```
要构建APK请使用以下命令
```bash
cd bank-new
cordova build android — packageType=apk
```
这个命令生成一个启用调试选项的APK通过Google Chrome方便调试。在安装之前签署APK是至关重要的特别是如果应用程序包含代码篡改检测机制。
### 自动化工具
对于那些希望自动化克隆过程的人,**[MobSecco](https://github.com/Anof-cyber/MobSecco)** 是一个推荐的工具。它简化了Android应用程序的克隆过程简化了上述步骤。
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>