如何简单地检查游戏是否被重新编译?

How to make a simple check that the game was recompiled?

我了解到破解和重新编译 unity 游戏非常容易。另外,我读到他们有一个函数(由引擎提供)来确定游戏已经重新编译。

例如我发布游戏, 一个坏人破解它并作为他自己的发布, 但是在代码深处的某个地方仍然有一个检查游戏是否已经重新编译, 这样我就可以向用户显示一些注释或使游戏无法玩。

破解 cocos 游戏容易吗? 我需要担心吗? 如何为我的游戏做一个小的拷贝保护?

I have read that it is very easy to hack and recompile an unity game. Also, I read that they have a function (provided by the engine) to determine that the game has been recompiled.

是的,Unity 有一个功能可以确定您的游戏是否已被反编译重新编译修改 无论如何。但是黑客聪明足以在重新编译[=94]之前修改那个函数returns =] 游戏。 黑客.

可以修改删除您编写的任何保护代码

I release the game, a bad guy hacks it and publish as his own, but somewhere in the depth of the code still there is a check that the game has been recompiled, so that I can display some note to the user or to make the game unplayable.

总会有人试图破解您的游戏。如果您的游戏很有名并且有很多人玩,则很可能会出现这种情况。向用户显示一些注释不会阻止黑客入侵您的游戏。让游戏无法玩也不行。

Is it easy to hack a cocos game? Do I need to worry about it? How to make a small copy protection for my game?

任何游戏都可以被黑。根据黑客的 经验,黑客攻击对他们来说可能是 困难简单。你不需要担心这件事。 大型 游戏公司有专门 程序员 团队保护他们的游戏,但黑客只需要个月就可以删除每个保护 来自 游戏 并再次使游戏 可玩

花大部分时间制作出色的游戏,并使游戏成本负担得起,然后更少 人们会盗版 你的游戏。 没有办法你可以完全阻止人们入侵你的游戏没有问题编程语言操作系统游戏的设计目标。

编辑:

  1. 为了给你添加一个简单的保护,应该obfuscate你的C++代码。Obfuscation会让你的代码更不可读。例如,如果您有一个名为 PlayerInfo 的 class,其中包含分数,混淆会将 class 名称重命名为 Esfjhsakm4。黑客必须一项一项地检查所有内容才能了解您的应用程序中发生了什么。您可以 google C/C++ Obfuscator 了解更多信息。

  2. 保护您的代码的另一种方法是为您的游戏设置玩家随时间得分的限制。也许如果一个玩家的分数在一秒钟内从 0 上升到 100,而你知道这在你的游戏机制下是 不可能的,你可以 检测这是一个黑客行为,然后采取行动。

  3. 如果这是网络游戏,制作游戏时玩家必须注册登录玩。然后,如果您发现他们作弊,您可以禁止该玩家的帐户。同时禁止他们的 IP 地址 3 天,然后在 3 天 后解除禁令,但不要解除玩家帐户 的禁令。

  4. 检测是否已解锁某个项目,而用户尚未玩到解锁该项目所需的级别。

重要的建议是不要让用户知道您在他们的游戏中检测到了黑客攻击。只需采取后台操作,例如将游戏模式从 easy 更改为 hardban 玩家 和让游戏变得烦人。如果您在检测到黑客攻击时关闭游戏,他们将删除关闭游戏的代码