Cordova Apps
有关更多详细信息,请查看 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的文档。
要确定适当的Cordova Android平台版本,请检查原始应用程序的cordova.js
文件中的PLATFORM_VERSION_BUILD_LABEL
。
设置平台后,安装所需的插件。原始应用程序的bank/assets/www/cordova_plugins.js
文件列出了所有插件及其版本。请按照以下示例逐个安装每个插件:
如果一个插件在 npm 上不可用,可以从 GitHub 获取:
确保在编译之前满足所有先决条件:
要构建APK,请使用以下命令:
这个命令生成一个启用调试选项的APK,通过Google Chrome方便调试。在安装之前签署APK是至关重要的,特别是如果应用程序包含代码篡改检测机制。
自动化工具
对于那些希望自动化克隆过程的人,MobSecco 是一个推荐的工具。它简化了Android应用程序的克隆过程,简化了上述步骤。
最后更新于