使用值更改器防止作弊

时间:2014-07-05 16:23:34

标签: android

有“sbgamehacker”或“gamekiller”等应用程序,这些应用程序在后台运行,您可以暂停其他应用程序,转到这些应用程序并输入暂停应用程序中存在的值并更改它,例如,我的游戏,我有硬币,我的硬币用于购买东西,如果我有50个硬币,我可以去游戏杀手或sbgamehacker并输入50,然后它就能将它改为933939硬币,我怎么能防止我的应用被骗了?

我的硬币价格上涨了1,所以如果有人想知道硬币是否会突然上涨1000,那么它会退出应用并发送消息,停止黑客攻击。

1 个答案:

答案 0 :(得分:6)

此类游戏黑客应用程序是否也适用于我的银行和经纪帐户应用程序?因为如果他们可以修改我的银行余额,这将是非常棒的。

当然,这些应用无法增加我帐户中的美元数量。因为每个交易都在银行的服务器上验证。他们最多可以更改屏幕上显示的值,但不能更改银行实际跟踪的金额。

这真的是你的答案。如果游戏中的项目非常重要,可以防止黑客攻击,那么有关该值的所有内容都应由服务器管理。

如果它太复杂或者设计禁止服务器进行验证,那么至少使黑客难以发现硬币数量等值的存储位置。想法包括:

  1. 包含硬币数量的变量以加密或混淆方式存储(例如XOR与0xAAAAAAAAA)。

  2. 在币变量上有“crc”,“hash”或某种数字签名。 (例如hmac-sha1)如果哈希检查与需要该值时的值不匹配,则应用程序应该只是崩溃。最好以奇怪的方式崩溃,以便代码只是在一个值上断言并不明显。

  3. 在每一帧或游戏中转动内存中的值,这样黑客就很难找到它。

  4. 经常发布游戏更新,调整1-3的算法。