有过脱机外挂编写经历的童鞋们大概都会遇到一个很纠结的问题,现在大多数游戏都要求客户端每几秒给服务器发送一个数据包以确定是否掉线,这样一来在调试程序的时候,无论是对客户端的逆向调试,还是对自己外挂的调试,一旦下了断点程序暂停后,如果不能在短短的几秒中恢复程序运行,那么游戏就会掉线。
在彩虹岛中,心跳包的发送间隔是10秒,我发誓这个问题困扰了我两年。。
比较容易想到的是,看有没有办法能直接截取数据链路层的raw packets,再看看有没有API,或者直接操作网卡驱动来模拟封包。然而这对计算机网络知识要求很高,并且貌似Windows下raw packets的操作很少很少,并且有各种各样[……]