北零社区 » QQ外挂/CS作弊器/网游外挂 » QQ斗地主记牌器(作弊器)原理与实现

2007-12-19 16:17 zcj41000
QQ斗地主记牌器(作弊器)原理与实现

QQ斗地主记牌器(作弊器)原理与实现

作者:龙林 EMAIL:[email]dragon_hn@sohu.com[/email] WEB:[url]www.dragon-2008.com[/url]

玩了一阵子QQ斗地主游戏,无赖资质太差了,老是记不住牌,上网搜索了一下有关QQ斗地主记牌器,下载了几个,没想到这小东东居然还要注册,还要给注册费,气愤之余,自己在VC环境下做了一个,感觉不错,现将原理公布如下:

该记牌器采用图像识别原理,而不是通过网络截包的方式。

(1)获取当前QQ窗口图片,首先通过下列代码查找QQ斗地主主程序窗口:

CWnd *hwnd=FindWindow(NULL,"新斗地主");

然后通过BitBlt将窗口图片复制到内存CBitmap对象中,再通过代码:

m_BkBmp1.GetBitmapBits(length,pBuff);

获取图像的RGB数据。

(2)获取扑克牌位置

扑克牌的位置很好查看,因为扑克牌有边框,颜色为黑色,与背景色明显不同,另外牌的大小固定

(3)识别扑克牌

与“人脸识别”,“OCR”等不同,在获取扑克牌位置之后,识别扑克牌特别简单,因为扑克牌图像具有不变性,对2,3,4,5,6,7,8,9,10,J,Q,K,A等这些字符,通过统计可以发现,只要识别几个像素(特征点),就可以很快确定,下面是我识别的像素的特征点相对扑克牌左上角的坐标:

(4,4)
(6,4)
(10,4)
(5,9)
(8,9)
(10,9)
(4,15)
(7,15)
(10,15)

本来斗地主是不用识别花色的,不过为了对记牌结果进行校验,还是采用了花色识别,注意对同一个花色不同牌号可能存在不同的特征点

(4)识别牌局的开始与结束

实际上识别牌局开始就行了,牌局开始的时候主窗口会出现一个金色的“开始”按钮,程序中实际就是识别该按钮。

(5)结果显示

采用一个附于主窗口右上角的小窗口实现

[[i] 本帖最后由 zcj41000 于 2007-12-19 16:25 编辑 [/i]]

2008-2-12 23:47 yanglingxiao
骗人的

下载不了呀

2008-2-13 08:03 c800
可以下载!!!

2008-9-3 16:38 xpfox
可惜分不够啊!

2008-9-4 15:15 hanyuanaaaaa
不错的东西。我很喜欢。支持一下楼主。

2008-10-13 23:37 用户你好
如何获得积分

如题

2008-11-25 13:28 草莓
戎尼不够

rongni不够怎么得啊?

2008-11-25 14:10 nxwg
谢谢分享,支持

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.