写了一个 QQ 双扣计牌程序(附源码)
2012-08-20

回国这几周QQ双扣在亲友中流行。网上能找到的计牌器皆疑似有木马或病毒。于是自己花了一天写下此程序。又微调了两日。打磨得可以将就用了。

实现原理

虽然可以直接跨进程读取内存,但是这样做容易触发杀毒软件,而且不灵活。便依然用一个hook挂进QQ游戏的线程。定时读取各对手的出牌计录。将结果直接画在前置窗口上。

源代码 src.zip 公开供学习用。其中包函了以下文件:

QQ-ShuangKou/main.cpp            24496 2012-Aug-19
QQ-ShuangKou/Numbers.bmp          1294 2012-Aug-05
QQ-ShuangKou/Colors.bmp            382 2012-Aug-05
QQ-ShuangKou/resource.h           1356 2012-Aug-15
QQ-ShuangKou/resource.rc          6392 2012-Aug-16
QQ-ShuangKou/Invoker/resource.h    401 2012-Aug-04
QQ-ShuangKou/Invoker/invoker.cpp   433 2012-Aug-19

打包的时候把 Visual Studio 的配置文件排除了,毕竟每个版本都不一样。所以做简单说明。 其中 main.cpp 是包括抓数据、画窗口在内的核心部件,需要被封装成一个 DLL。Invoker 只是用跑 DLL 的一个包装。

截图

图1:观众模式测试程序
图2:显示各方已出的牌