5.4 KiB
Cordova 应用
从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想看到您的公司在 HackTricks 中做广告或下载 PDF 版本的 HackTricks,请查看订阅计划!
- 获取官方 PEASS & HackTricks 商品
- 探索PEASS 家族,我们独家的NFTs收藏品
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 🐦 @carlospolopm 上关注我们。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
有关更多详细信息,请查看 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 文档 提供了这些安装的详细指南。
假设有一个名为 Bank.apk
的示例应用,包名为 com.android.bank
。要访问源代码,请解压 bank.apk
并导航至 bank/assets/www
文件夹。该文件夹包含应用程序的完整源代码,包括 HTML 和 JS 文件。应用程序的配置可以在 bank/res/xml/config.xml
中找到。
要克隆应用程序,请按照以下步骤操作:
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的文档。
要确定适当的Cordova Android平台版本,请检查原始应用程序的cordova.js
文件中的PLATFORM_VERSION_BUILD_LABEL
。
设置平台后,安装所需的插件。原始应用程序的bank/assets/www/cordova_plugins.js
文件列出了所有插件及其版本。请按照以下示例逐个安装每个插件:
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
如果一个插件在 npm 上不可用,可以从 GitHub 获取:
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
确保在编译之前满足所有先决条件:
cd bank-new
cordova requirements
要构建APK,请使用以下命令:
cd bank-new
cordova build android — packageType=apk
这个命令生成一个启用调试选项的APK,通过Google Chrome方便调试。在安装之前签署APK是至关重要的,特别是如果应用程序包含代码篡改检测机制。
自动化工具
对于那些希望自动化克隆过程的人,MobSecco 是一个推荐的工具。它简化了Android应用程序的克隆过程,简化了上述步骤。
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)!
支持HackTricks的其他方式:
- 如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs
- 加入 💬 Discord群 或 电报群 或 关注我们的Twitter 🐦 @carlospolopm。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。