当前位置: 首页 > 知识库问答 >
问题:

PhoneGap源安全

习阳
2023-03-14

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

反向工程是许多使用PhoneGap的人所关心的问题,因为人们可以简单地打开应用程序二进制文件并查看应用程序的JavaScript源代码。人们甚至可以添加恶意JavaScript代码,重新打包应用程序,并将其重新提交给应用商店/市场,试图进行应用程序钓鱼。无论是用PhoneGap还是其他语言编写的任何应用程序,都可以进行这种实践,因为反编译Java或Objective-C也是一项类似的简单任务。

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

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

共有3个答案

容学林
2023-03-14

我建议:

  • 混淆大部分/所有JS代码。谷歌的闭包编译器是一个不错的选择

应用程序启动时:

  • 在设备上存储了一些哈希码,在调用服务器进行动态数据获取之前需要验证
  • 在App启动期间,首先将App hashcode推送到服务器以验证App的真实性,服务器将检查该hashcode以验证App的合法性
  • 一旦服务器验证了应用程序的合法性,服务器就可以发送另一个哈希码或继续使用相同的哈希码。另外,服务器也可以设置自定义cookie参数......这一切都取决于应用程序的架构

与其发送新的js代码,不如推送json动态数据并在设备上保持js代码混淆。

林修真
2023-03-14

下面的模式怎么样:

  1. 将引导JavaScript嵌入您的应用程序,该应用程序确实启用了针对您的服务器的用户/设备身份验证。尽您所能混淆引导代码。
  2. 将您的应用程序的主要逻辑作为JavaScriton保留在您的服务器上(可由经过身份验证的用户访问)
  3. 身份验证后,在运行时下载主逻辑JavaScript,运行该JavaScript,并在应用程序关闭时将其删除

持续升级无痛继之。

马坚
2023-03-14

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

 类似资料:
  • 问题内容: 我一直在寻找解决方案已有两天,无法在Windows 8.1系统上设置Phonegap。 每当我尝试通过npm安装Phonegap时,都会收到我认为与Cordova(-lib)有关的错误。 要安装Phonegap,我必须在系统上安装Node.js(v0.10.28)。此后,我打开了Windows Powershell,并按照Phonegap网站上的指示发出了以下命令: 输出:( 这是错误

  • phonegap/cordova的文档非常糟糕。我只想在Windows环境中安装PhoneGap 3.0,但没有成功。 下面是我的步骤和失败点。有人能就解决方案提出建议吗? 根据说明: 安装Node.js(成功) 从nodes.js:(SUCCESSFUL) 添加平台:(什么都没发生) 尝试phonegap:(找不到ERROR项目目录) 来自“Windows Phone 8平台指南” 安装Wind

  • 我有一些简单的问题,因为phonegap文档很难理解,也欢迎提供一些关于第一个基本步骤的教程。 使用phonegap需要安装的一切? 安装phonegap的文件夹在哪里? 如何开始安装(CMD,node.js ) ? 我键入CMD: 我得到: 下一步是什么?请帮忙?

  • 我已使用安装Phonegap 我也创建了这个项目。在那之后我做到了 它给[phonegap]检测Android SDK环境...[phonegap]使用本地环境[phonegap]添加Android平台... 我在这个屏幕上呆了很长时间。。我关闭cmd,再次打开并尝试。。但它又在同一屏幕上停留了很多时间。。 我已安装节点。js和我也有android SDk。请帮忙,提前谢谢。。 编辑: 我又关了,

  • 我们计划使用Phonegap开发一个移动银行应用程序。是否存在任何安全问题,因为我们使用的是Phonegap而不是原生SDK?

  • 我刚刚去了Phonegap,看到我需要安装node.js才能开始。 我这样做了,然后按照命令行安装phonegap。 然而,它在哪里?我在program files文件夹中没有看到任何内容,也没有看到Eclipse,Phonegap的网站上也没有关于下一步要做什么的文档。我不明白为什么这个指示如此含糊?我错过了什么?我下载/安装的所有文件都到哪里去了? 谢啦