mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
77 lines
5.4 KiB
Markdown
77 lines
5.4 KiB
Markdown
# Cordova 应用
|
||
|
||
<details>
|
||
|
||
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks 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>htARTE(HackTricks 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>
|