求教各类的网络棋牌记牌器的原理,另外可否hook gdi32中的某个函数

dedi8872 2009-05-07 10:45:44
最近想学学做做 棋牌游戏的记牌器,百度和思考后,我觉得大概就是以下几种方案
1,截封包。。但是看了下qq斗地主的封包,加密了的,要解估计很复杂。。
2,读取内存..这方面我不熟,不知道从何下手。。
3,屏幕取色。。这个好像限制较多,万一别的窗口挡住,或者来个表情什么的,牌区域的颜色可就变了啊
4,我觉得是不是可以hook gdi32.dll中的某个绘图函数?出牌不就是得把某张牌的图像显示到屏幕上吗?是不是可以截获游戏会调用哪个图片?(我不知道qq棋牌游戏的图片存储在哪。。汗。。好像是整合在一个资源文件里)..从而也就知道了出了哪张牌?不过GDI32.dll的那些函数我基本没用过,有没有比较熟悉的高人可以指点一下?
...全文
336 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
leechrockgames 2009-05-07
  • 打赏
  • 举报
回复
我想,client发送,和收包时,你解它的包,估计,解不了
hzcenter 2009-05-07
  • 打赏
  • 举报
回复
跟踪它解封包的过程得到它解封包的方法
csbinchina 2009-05-07
  • 打赏
  • 举报
回复
解包困难。但最有效。哈哈
共同学习下。
biweilun 2009-05-07
  • 打赏
  • 举报
回复
一般外挂都是要分析读取内存实现的。ReadMemory,不过你要多花点时间分析变量在内存中的存在位置和方式,这个比其他的思路都要简单的。
你想Hook很难成功
feng19852007 2009-05-07
  • 打赏
  • 举报
回复
解包吧。。。。。。。。
IONPhantom 2009-05-07
  • 打赏
  • 举报
回复
只有解析封包比较现实,拦截GDI函数根本没有用,在画到屏幕上的时候图片都是内存数据,根本不是文件数据,即使你知道文件在哪里也没有用,初始化的时候早都把文件数据变成内存GDI对象了,你拦了API函数也不知道它到底在画什么
lambochan 2009-05-07
  • 打赏
  • 举报
回复
如果是GDI的,来来去去就那几个函数贴图(BitBlt(),SetDIBitsToDevice(),StretchBlt()和StretchDIBits()..
拦截了后就可以得到它的内存DC和Bitmap,这个就和遮挡什么的无关了.
问题它是不是调用GDI函数来绘图的,如果用的是ddraw/d3d的话..

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧