Cordova Apps

从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)

支持 HackTricks 的其他方式:

有关更多详细信息,请查看 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.jscordova.jscordova-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的其他方式:

最后更新于