7.5 KiB
Cordova 应用
☁️ HackTricks 云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥
- 你在一家 网络安全公司 工作吗?想要在 HackTricks 中 宣传你的公司 吗?或者你想要获得 PEASS 的最新版本或下载 HackTricks 的 PDF 版本 吗?请查看 订阅计划!
- 发现我们的独家 NFTs 集合 The PEASS Family
- 获取 官方 PEASS & HackTricks 商品
- 加入 💬 Discord 群组 或 Telegram 群组,或者在 Twitter 上 关注 我 🐦@carlospolopm。
- 通过向 hacktricks 仓库 和 hacktricks-cloud 仓库 提交 PR 来分享你的黑客技巧。
从文章 https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58 中获取的信息。
基本信息
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应用程序的完整过程的工具。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获得官方PEASS和HackTricks周边产品
- 加入💬 Discord群组或电报群组或关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。