6.6 KiB
Cordova 应用程序
从零开始学习 AWS 黑客攻击成为英雄,通过 htARTE (HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想在 HackTricks 中看到您的公司广告 或 下载 HackTricks 的 PDF 版本,请查看 订阅计划!
- 获取 官方 PEASS & HackTricks 商品
- 发现 PEASS 家族,我们独家的 NFT 集合
- 加入 💬 Discord 群组 或 telegram 群组 或在 Twitter 🐦 上 关注 我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
基本信息
Apache Cordova 是一个流行的框架,允许您使用 JavaScript、HTML 和 CSS 创建 混合应用程序(Android 和 iOS)。
Cordova 的一个主要问题是它 没有默认的方法来保护 应用程序的 源代码,不像 react-native 那样。Cordova 应用程序没有默认的方法来编译它,这使得代码篡改变得 容易。Cordova 应用程序使用 WebView 来使用 HTML 和 JS 渲染应用程序,即使在编译成 APK 或 IPA 之后也会泄露源代码,而 react native 使用 JavaScript VM 来运行 JavaScript 代码。
克隆 Cordova 应用程序
要创建 Cordova 应用程序,我们需要安装 NodeJS。除了 NodeJS,我们还需要安装其他一些东西来完成构建过程,如 Android SDK、Java JDK 和 Gradle。您可以按照官方文档的要求列表进行操作。
以这个例子为例,我们可以假设原始应用程序的名称是 Bank.apk
,包名是 com.android.bank
解压 bank.apk
并打开 bank/assets/www
文件夹。我们可以查看 Cordova 应用程序的完整源代码。所有 HTML 和 JS 代码都可以用来创建应用程序的克隆。我们还可以在 bank/res/xml/config.xml
中找到应用程序的配置文件。
现在我们可以创建一个新的 Cordova 应用程序项目:
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版本的支持。
Android API和Cordova Android平台版本都是不同的。您可以查看平台版本列表及其对Android API的支持。
要添加Cordova Android平台,我们需要找出应用最初使用的是哪个版本。如果您使用不同的版本,您可能会遇到问题,因为我们正在使用相同的源代码来克隆应用。您可以打开 cordova.js
文件并搜索 PLATFORM_VERSION_BUILD_LABEL
来找到应用使用的版本。
\
现在我们已经添加了Android平台支持,我们可以添加应用所需的所有插件。在原始应用 bank/assets/www/cordova_plugins.js
中,我们可以找到应用使用的所有插件的列表。我们需要逐一安装这些插件。在 cordova_plugins.js
文件中搜索 module.exports.metadata
。我们也可以看到所有插件及其版本。
我们需要使用以下命令逐一安装所有插件
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
{% hint style="warning" %} 如果在npm上找不到插件,请在Github上搜索:
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
{% endhint %}
要编译应用程序,我们需要确保已经安装了所有必需的条件。
cd bank-new
cordova requirements
一旦我们准备好所有设置,我们就可以构建apk。
cd bank-new
cordova build android — packageType=apk
上述构建命令将创建一个启用了调试方法的apk,这允许我们使用Google Chrome对应用程序进行调试。在安装apk之前,请确保对apk进行签名。如果应用程序具有代码篡改检测功能,除非没有设置特定配置,否则将被绕过。
自动化工具
MobSecco:一个自动化克隆Android应用程序完整过程的工具。
从零开始学习AWS黑客攻击直到成为专家,通过 htARTE (HackTricks AWS Red Team Expert)!
支持HackTricks的其他方式:
- 如果您希望在HackTricks中看到您的公司广告或下载HackTricks的PDF版本,请查看订阅计划!
- 获取官方PEASS & HackTricks商品
- 发现PEASS家族,我们独家的NFTs系列
- 加入 💬 Discord群组 或 telegram群组 或在 Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github仓库提交PR来分享您的黑客技巧。**