4

有些人就保护 HTML5 应用程序和保护免费增值应用程序提出了类似的问题,但不是两者兼而有之。我单独问这个问题是因为我的印象(无论是对还是错)HTML5 与原生相比特别不安全。

我正在开发一个嵌入式 HTML5 应用程序,我想使用免费增值模式获利,但我担心如何防止其虚拟货币和评分变量被最终用户太容易弄乱,因为我担心这可能会产生负面影响如果某些黑客(该术语无意冒犯)要创建有关漏洞利用的 YouTube 视频或博客文章,则会影响收入。我认为这不太可能在早期发生,但我认为脆弱性会随着受欢迎程度而变得更重要。我也担心有人可以复制应用程序。

我虽然意识到这两者都可以通过设备上安装的应用程序来实现。

我的问题是:

  1. 在您看来或经验中,将未混淆的嵌入式(不依赖于浏览器)HTML5 应用程序及其 Javascript 与具有基于 Java 或 Objective-C 数据的核心文件的本机应用程序混淆起来有多容易?/混淆的效果如何? HTML5 应用程序与本地混淆应用程序在数据保护方面的对比?
  2. 混淆 HTML5 应用程序与在常规 Android 应用程序上使用 Proguard 之类的应用程序有多难?
  3. 对于普通用户来说,混淆是否会导致 HTML5 明显变慢?
  4. 最后,您认为拥有一个具有免费增值功能的 HTML5 应用程序实用吗?还是您个人认为它太脆弱了?

我基本上试图弄清楚 HTML5 是否特别容易受到攻击或难以保护,至少与保护原生应用程序相比是这样。如果混淆的 HTML5 应用程序与常规应用程序一样安全或不安全,那么我想我可以接受。

4

2 回答 2

5

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

设计防作弊多人游戏的一般规则是永远不要信任客户端,并在服务器上进行与游戏玩法相关的所有计算。

于 2013-02-06T20:29:38.233 回答
1

在我看来,最好混淆并永远不要信任客户。不仅如此,我什至会压缩混淆代码,并在客户端和/或服务器中添加混淆解压缩器。该技术是可行的,并且是专业公司在整个网络上使用的技术。

现在,回答您的问题:

  1. 弄乱正确混淆的代码并不容易(这需要您压缩/加密偶数)。专业的黑客不会为了“运动”而弄乱您的代码,除非他们有钱这样做,甚至在那情况下,他们将很难做到(这就是为什么我不相信“忘记混淆”的思维方式)。
  2. 混淆在数据保护方面非常有效。您的代码变得不可读,并且在某种程度上,它可以被视为一种压缩算法,因此它可以减少文件大小和加载时间。
  3. 如果您依赖可以混淆的专业工具,例如JS,html5,css和php,混淆是很容易的。只有你必须开发这样的工具才更难。但是该领域也存在开源软件。
  4. 它肯定会减慢“普通用户”的速度,他们会在你的代码面前感到迷失。
  5. 拥有一个具有免费增值功能的 HTML5 应用程序是可行的,但这完全取决于您对这些选项的实施。
  6. 如果如上所述正确完成,它就不太容易受到攻击,但就我个人而言,我不喜欢这种商业模式。
于 2015-07-03T00:38:24.553 回答