混合移动应用安全

Hybrid Mobile App Security

在我的例子中,我有一个 混合移动应用程序 和 Cordova。

如果有人下载我的 *.apk 或 *.ipa 并尝试在浏览器中使用它,我如何才能避免更改我的 javascript/AngularJs

我想加密我的源 javascript 代码,或者如果可能的话想在 *.apk 中加密全部内容。

避免其他人更改您的代码的一种方法是缩小和混淆 javascript 文件。

Here大家可以自行测试

但是如果你想缩小项目的所有 javascipt 文件,我建议你使用一些任务运行器,比如 grunt with Uglify

为避免不需要的请求,您必须在服务器中配置 Cross-origin 资源共享 (CORS)。

  1. 首先将所有 js 文件压缩成一个 bundle.js 并使用 cordova-anti-tampering 插件。如果有人试图篡改您的 apk 并重建 apk 应用程序将会崩溃。
  2. 此插件将为所有文件创建哈希值。如果您想进一步保护您的应用程序您可以将这些哈希值存储到服务器一次,并使用服务器存储的哈希值检查您的文件哈希值。

虽然大多数人会同意 Javascript 加密不是 fool-proof 方法,但在某些情况下,增加所需的工作量并减慢攻击者的速度通常会有所帮助。您可以检查 refresh-sf, Uglify and also obfuscator.io 等工具进行代码混淆。然而,基本的加密和混淆做法并不能阻止人们提取和使用您的代码,考虑到最近发生的高级 cyber-attacks,黑客已经有办法绕过这些做法。

我的建议是投资移动应用程序安全工具,如 Arxan、AppSealing 或 Appdome,以便在您的应用程序上应用强大的安全架构。亲自使用过 AppSealing,我可以说它们有定期更新,绝对可以让您免受最新的攻击。他们的框架直接集成在您的 apk 中,因此不需要额外的编码。我建议您寻找此类移动应用程序安全解决方案以获得更强大的安全架构。我相信除了我上面提到的那些之外,必须有更多的解决方案。只需研究并选择适合您的要求和预算的那个。