【发布时间】:2013-05-28 01:56:47
【问题描述】:
我为安卓手机制作了一个非常简单的游戏。
游戏非常简单: 当屏幕从蓝色变为红色时,您应该按下屏幕。
(分数取决于你按下的速度,等级较高的熟练玩家应该是反应时间非常短的玩家。)
所有玩家都可以看到一个高分板。
这个 delayTime 被发送到服务器以存储所有玩家的时间。
我的问题是:
1) 人们是否可以对我的应用程序进行逆向工程并实际减少响应延迟的变量?使用时间戳测量延迟:
long userDelayTime = timeNow - timeScreenTurnedRed;
然后被发送到服务器。
如果逆向工程像人们说的那样简单,那么有人可以做到以下几点:
long userDelayTime = randomedRidiculouslySmallTime;
并获得巨大的优势..
2) 我怎样才能避免这种情况?
3) 如果我打算在网站上重新创建这个游戏,我会遇到同样的问题吗?如何在网站中避免这种情况?
谢谢!
【问题讨论】:
-
不要依赖客户端来检查任何东西或减慢速度。始终检查您控制的服务器。即永远不要相信客户。
标签: java android security reverse-engineering