2015年1月9日20:33:59
刷游戏服务器的常见方法如下:
(1)按键精灵等工具模拟人工点击,比较初级,不会对服务器有打的影响
(2)封包等工具可以直接向服务器发送数据,相对来说比较高级点,对服务器也不会有打的影响
(3)修改内存工具,直接将修改后的内存数据发给服务器,此时借助变量类型的存储长度,造成溢出从而利用某些服务器漏洞,如:
//物品购买
int price = 3;
int money = 4;
int buy(int num)
{
if (num * price <= monye)
{
return num;
}
}
获取这个num数值的一个参考方法:
#include <limits>
int _tmain(int argc, _TCHAR* argv[])
{
int num = 1;
for (int i = 0; i<=3; ++i)
{
while (num < INT_MAX)
{
if (num * 3 <= i)
{
printf("num = %di = %d\n", num, i);
goto found;
}
++num;
}
}
found:
return 0;
}
如果有此类不严谨的代码存在,num * price该表达式结果可能存在溢出,从而通过逻辑检查,而num可能是一个比较大的值,从而形成了服务器的漏洞。
总结:
所有服务器代码编写一定要严谨,也可以多参考可以造成漏洞的手段,尽量避免写出造成漏洞的代码。