游戏外挂的原理
外挂现在分为好多种,比如模拟键盘的,鼠标的,修改数据包的,还有修改本地内存的,但好像没有修改服务器内存的哦,呵呵。其实修改服务器也是有办法的,只是技术太高一般人没有办法入手而已。
工作室所做的外挂,一般就是截取服务器封包,修改封包,伪造封包,达到欺骗服务器发送指令..达到自动操作游戏里人物的目的,要打击工作室,最好的方法就是加密封包,阻止对方拦截Socket包以及截获API
我们要知道WSA_DATA类型会被用于WSAStartup(wVersionRequired: word; var WSData:
TWSAData): Integer;,大家会发现WSData是引用参数,在传入参数时传的是变量的地址,所以我们对WSA_DATA做以下封装:
const
WSADESCRIPTION_LEN = 256;
WSASYS_STATUS_LEN = 128;
type
PWSA_DATA = ^TWSA_DATA;
WSA_DATA = record
wVersion: Word;
wHighVersion: Word;
szDescription: array[0..WSADESCRIPTION_LEN] of Char;
szSystemStatus: array[0..WSASYS_STATUS_LEN] of Char;
iMaxSockets: Word;
iMaxUdpDg: Word;
lpVendorInfo: PChar;
end;
TWSA_DATA = WSA_DATA;
2)我们要从WS2_32.DLL引入winsock2的函数,在此我们也是以WSAStartup为例做函数引入:
FunctioN WSAStartup(wVersionRequired: word; var WSData: TWSAData):
Integer; stdcall;
implementation
const WinSocket2 = 'WS2_32.DLL';
FunctioN WSAStartup; external winsocket name 'WSAStartup';
通过以上方法,我们便可以对winsock2做接口,下面我们就可以用winsock2做封包捕获了,不过首先要有一块网卡。因为涉及到正在运作的网络游戏安全问题,所以我们在这里以IP数据包为例做封包捕获,如果下面的某些数据类型您不是很清楚,加密以下封包可以防止偷取,也可以请黑客反击工作室,工作室只是低级的黑客运用技术,对上真正的黑客高手,外挂问题不攻自破