这其实算是一个未公开漏洞,危害性并不大,但是....
大部分游戏公司的瞬移漏洞都是基于这个原理.如果不是基于这个漏洞,那么一定是基于低级的逻辑错误...
很多的金融公司的软件也会有这个漏洞,国外的一个APT组织就是利用这个漏洞到处打劫,并且屡屡得手
以下是一段C++代码
一个数要么大于-1 要么小于0...所以下面的代码
#include <iostream>
#include "HackT.h"
int main()
{
HackV= HackT::HackGame();
if (HackV > -1)
{
std::cout << "HackV>-1\n";
}
if (HackV < 0)
{
std::cout << "HackV<0\n";
}
system("pause");
}
然而运行结果是这个数既没有大于-1 又没有小于0
所以,当你是游戏服务端时,你判断用户的坐标和上次的坐标差距是不是在合理范围内时,并不能得到你预期的效果,瞬移就这样出来了.
你的逻辑是 (这次的坐标-上次的坐标)>最大可能移动距离 说明他作弊了
但是这个漏洞会导致你的判断失效.
因此 瞬移合理.
同样的原理,你是一家银行...你判断用户的取款金额和他的账户余额时.....