Cordova Apps
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP 黑客技术:
HackTricks 培训 GCP 红队专家 (GRTE)
有关更多详细信息,请查看 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
中找到。
要克隆应用程序,请按照以下步骤操作:
将 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 documentation。
要确定适当的 Cordova Android 平台版本,请检查原始应用程序的 cordova.js
文件中的 PLATFORM_VERSION_BUILD_LABEL
。
设置平台后,安装所需的插件。原始应用程序的 bank/assets/www/cordova_plugins.js
文件列出了所有插件及其版本。逐个安装每个插件,如下所示:
如果插件在 npm 上不可用,可以从 GitHub 获取:
确保在编译之前满足所有先决条件:
要构建APK,请使用以下命令:
此命令生成一个启用调试选项的APK,便于通过Google Chrome进行调试。在安装之前签署APK是至关重要的,特别是当应用程序包含代码篡改检测机制时。
自动化工具
对于那些希望自动化克隆过程的人,MobSecco 是一个推荐的工具。它简化了Android应用程序的克隆,简化了上述步骤。
学习与实践AWS黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习与实践GCP黑客技术:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated