PhoneGap源码安全

在平台安全的最后一节中,它提到了一种在PhoneGap应用程序中保护源代码的方法。

逆向工程是很多使用PhoneGap的人的关注点,因为可以简单地打开应用程序二进制文件并查看应用程序的JavaScript源代码。 甚至可能会添加恶意JavaScript代码,重新打包应用程序并重新将其提交给应用程序商店/市场,以尝试进行应用程序钓鱼。 这种做法可以用任何应用程序进行,不管它是用PhoneGap编写还是用其他方式编写,因为反编译Java或Objective-C是一项类似的简单任务。

PhoneGap实际上可以解决这个安全问题,因为应用程序开发人员可以在运行时在应用程序中下载JavaScript,运行该JavaScript并在应用程序关闭时删除它。 这样,当设备静止时,源代码永远不会在设备上。 对于Java或Objective-C来说这是一个更加困难的前景,更不用说在App Store中围绕动态运行Objective-C代码的限制。

但是,我想知道如何防止他人在服务器上下载我的源代码?


我建议注释你的代码,然后通过Google的Closure编译器运行它,它会混淆它并执行某些优化。 这会让人们很难阅读你的代码,但除此之外,你将不得不忍受JS是客户端语言的事实。


以下模式如何:

  • 在您的应用中嵌入引导程序JavaScript,该程序确实可以针对您的服务器启用用户/设备身份验证。 尽你所能混淆自举代码。
  • 将您的应用程序的主要逻辑保存为您的服务器上的JavaScripton(可由经过身份验证的用户访问)
  • 认证后,在运行时下载主逻辑JavaScript,运行该JavaScript,并在应用程序关闭时将其删除
  • 持续升级是无痛的。


    我会建议:

  • 混淆大部分/所有的JS代码。 Google的Closure Compiler是不错的选择。
  • 当App开始时:

  • 将一些哈希码存储在设备上 ,在对服务器进行动态数据提取调用之前需要对其进行验证
  • 在应用程序启动期间,首先将应用程序哈希码推送到服务器以验证应用程序真实性 ,服务器将检查该哈希码以验证应用程序的合法性
  • 一旦服务器验证了应用程序的合法性,则服务器可以发送另一个哈希码或继续使用相同的哈希码。 Plus服务器也可以设置自定义cookie参数......这一切都取决于应用程序和服务器通信的体系结构。 因此,设置最适合您的需求
  • 一旦App合法性得到验证,设备之间的所有呼叫应该包含相同的哈希码或cookie,并且服务器将在应答呼叫之前先验证它。
  • 而不是发送新的js代码,它更好地推动json动态数据并保持js代码在设备上被模糊处理。

    链接地址: http://www.djcxy.com/p/73129.html

    上一篇: PhoneGap source security

    下一篇: Accessing barometer data from Lumia 1020