对网上一个开源的 QQ 连连看外挂分析

找到一个 VB 写的,而且还是前一两个月发布的,直接编译后可以使用,于是对其源码进行了分析并做了总结。

首先是利用 FindWindow 函数获取游戏窗口,如果存在,再获取游戏开始后的画点,如果存在则表明游戏已经开始。程序中定义连连看中每个方块的类型、坐标、方块大小、方块矩阵,然后是方块的图案,连连看方块图案定义如下:

If color1 = 16294952 Then
 .Type = 1
 ElseIf color1 = 10344 Then
 .Type = 2
 ElseIf color1 = 4230280 Then
 .Type = 3
 ElseIf color1 = 48360 Then
 .Type = 4
 ElseIf color1 = 16303256 Then
 .Type = 5
 ElseIf color1 = 1050664 Then
 .Type = 6
 ElseIf color1 = 10505360 Then
 .Type = 7
 ElseIf color1 = 3697816 Then
 .Type = 8
 ElseIf color1 = 6828032 Then
 .Type = 9
 ElseIf color1 = 12083200 Then
 .Type = 10
 ElseIf color1 = 13681792 Then
 .Type = 11
 ElseIf color1 = 1068160 Then
 .Type = 12
 ElseIf color1 = 3685440 Then
 .Type = 13
 ElseIf color1 = 248 Then
 .Type = 14
 ElseIf color1 = 3702840 Then
 .Type = 15
 ElseIf color1 = 8951920 Then
 .Type = 16
 ElseIf color1 = 1606816 Then
 .Type = 17
 ElseIf color1 = 10529896 Then
 .Type = 18
 ElseIf color1 = 3676184 Then
 .Type = 19
 ElseIf color1 = 11019432 Then
 .Type = 20
 ElseIf color1 = 0 Then
 .Type = 21
 ElseIf color1 = 3686496 Then
 .Type = 22
 ElseIf color1 = 13160664 Then
 .Type = 23
 ElseIf color1 = 15783056 Then
 .Type = 24
 ElseIf color1 = 1050792 Then
 .Type = 25
 ElseIf color1 = 6864120 Then
 .Type = 26
 ElseIf color1 = 12611656 Then
 .Type = 27
 ElseIf color1 = 4211936 Then
 .Type = 28
 ElseIf color1 = 232 Then
 .Type = 29
 ElseIf color1 = 15251592 Then
 .Type = 30
 ElseIf color1 = 40184 Then
 .Type = 31
 ElseIf color1 = 16312496 Then
 .Type = 32
 ElseIf color1 = 40992 Then
 .Type = 33
 ElseIf color1 = 5805216 Then
 .Type = 34
 ElseIf color1 = 10312 Then
 .Type = 35
 ElseIf color1 = 13682864 Then
 .Type = 36
 ElseIf color1 = 9474192 Then
 .Type = 37
 ElseIf color1 = 1579256 Then
 .Type = 38
 ElseIf color1 = 16317688 Then
 .Type = 39
 ElseIf color1 = 7404792 Then
 .Type = 40
 ElseIf color1 = 5800144 Then
 .Type = 41
 ElseIf color1 = 4247760 Then
 .Type = 42
 ElseIf color1 = 14681336 Then
 .Type = 43
 ElseIf color1 = 12619832 Then
 .Type = 45
 Else
 .Type = 44
 End If

然后获得游戏中方块的图案和坐标,如果两个图案相等并且为空,就循环模拟鼠标按下并弹起,其实现了自动消减方块,其中的算法也就是连连看游戏玩法,在这里就不多写了。