前面我们分别介绍了 WinPcap 编程接口以及封包数据分析的基本方法,对于我们的网游辅助(外挂)程序来说,实现以上内容,相当于给我们的程序安装上了眼睛和耳朵,使得它有能力对游戏中产生的数据做出反应,而这些反应具体来说就是实现对游戏人物的控制。这部分的内容其实按键精灵已经做得很不错了,而我们将要采用的方法也基本相同,无非就是通过发送鼠标和键盘消息来实现对游戏人物的控制!唯一不同的地方在于,我们能够实现针对具体游戏窗口发送,而按键精灵需要收费插件才能提供此功能!否则就只能将消息发送给获得焦点的窗口(本质上是将消息发送给了 Windows 桌面)。
1、搜索游戏窗口
Windows 系统是消息驱动的系统,任何一个操作都会触发一系列的消息,每一个窗口程序都有一个消息处理函数用于处理这些消息!使用一个程序去控制另外一个程序,最简单也是最安全的方法,就是发送消息给被控程序。要实现这个功能,第一步是要知道被控程序的主窗口句柄!Windows API 提供了一个函数可以用来完成这个工作,代码如下: