如何保护免费增值HTML5免受变量修改?

时间:2013-02-06 20:16:15

标签: html5 obfuscation source-code-protection

有些人提出了有关保护HTML5应用和保护免费增值应用的类似问题,但并非两者都有。我之所以单独问这个问题是因为我有一种印象(无论是对还是错),HTML5对本机来说特别不安全。

我正在开发一个嵌入式HTML5应用程序,我想使用免费增值模式进行货币化,但我担心如何保持虚拟货币和评分变量不被最终用户轻易搞砸,因为我担心如果一些黑客(该术语没有违法行为)要创建关于漏洞利用的YouTube视频或博客帖子,这可能会对收入产生负面影响。我认为在此之前发生这种情况的可能性很小,但我认为漏洞对人气的影响更大。我也担心有人可以复制应用程序。

我虽然知道设备上安装了一个应用程序,但两者本身都是可能的。

我的问题是:

  1. 在你的意见或经验中,弄乱一个人是多么容易 未混淆的嵌入式(不依赖于浏览器)HTML5应用程序及其Javascript与具有基于Java或Objective-C数据的核心文件的本机应用程序?/混淆对HTML5应用程序的影响与原生混淆相比如何? 应用程序在数据保护方面?
  2. 在常规Android应用上混淆HTML5应用与使用Proguard之类的东西有多难?
  3. 混淆会导致HTML5对普通用户明显减慢吗?
  4. 最后,您认为使用HTML5应用程序是否切实可行 免费增值功能?或者你个人认为它太脆弱了?
  5. 我基本上试图弄清楚HTML5是否特别容易受到攻击或难以保护,至少与保护本机应用程序相比。如果混淆的HTML5应用程序与常规应用程序一样安全或不安全,那么我想我没关系。

2 个答案:

答案 0 :(得分:5)

防止作弊(以及解锁免费增值项目是一种作弊)的唯一方法是将所有相关游戏逻辑移至服务器。忘记混淆。当它在客户机上执行时,它在用户的控制之下。混淆可以减慢用户的速度,但是它无法阻止那些决定入侵它的人。这不仅适用于javascript,它适用于每个游戏客户端,无论它是用什么编程语言编写的。

设计防欺诈多人游戏的一般规则是永远不要相信客户端并进行与服务器上的游戏相关的所有计算。

答案 1 :(得分:1)

在我看来,最好是混淆,永远不要相信客户。 不仅如此,我甚至会压缩混淆代码,我会在客户端和/或服务器中添加一个混淆的解压缩程序。 这项技术是可行的,也是专业公司在网络上使用的技术。

现在,回答你的问题:

  1. 使用正确混淆的代码(某些东西)并不容易 这将要求你压缩/加密甚至数字)。专业 黑客不会弄乱你的代码"对于运动"除非他们被给予 这样做的钱,即使在这种情况下,他们也很难做到 它(这就是为什么我不相信"忘记混淆"方式 思考)。
  2. 混淆在数据保护方面非常有效。您的代码 变得难以理解,在某种程度上,它可以被视为一个 压缩算法因此减少了文件大小和加载时间。
  3. 如果您依赖专业工具,可以轻松进行混淆 混淆,例如,JS,html5,css和php都在一起。它' S 只有你必须开发这样的工具才会更难。但是存在 现场开源软件。
  4. 它减慢了#34;普通用户"当然,他们在前面感到失落 你编码。
  5. 拥有免费增值功能的HTML5应用程序非常实用 一切都取决于你对这些选择的实施。
  6. 如果如上所述正确完成,它不那么脆弱,但是, 就个人而言,我不喜欢这种商业模式。