危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2306 浏览20614632

VB编写找茬外挂

编程开始

1.实地测量

QQ大家来找茬游戏中,测量得,两幅图的长宽分别为380和285像素。起始点相对于找茬窗口左上角坐标为(10,186)(注意Windows都是以左上角为坐标原地,向右x增加,向下y增加),另一边为(403,186)0希望朋友还是自己测量下,推荐用截图软件,可放大有坐标。

2.句柄取得

取得找茬游戏的句柄,很简单,用Fhwnd:FindWindow(vbNullString,”大家来找茬”)将句柄保存到变量Fhwnd中。

3.各种调整

打开VB画好界面。设Form的BackColor为白色,美观而已。边框样式BorderStyle设为00坐标度量单位ScaleMode为3_Pixel像素。

我们要直接将差异画到Form上,所以Fom宽度ScaleWidth设为380(即找茬图片的宽度),高度ScaleHeight比285(找茬图片的高度)大能放下下面的按钮即可。

为了方便,先将外挂界面放到屏幕最右上角,将找茬游戏放到最左面。

Form_load()中写入

Me.Top=0‘屏幕顶端

Me.Left—Screen.Width.380+Screen.

TwipsPerPixelX’外挂界面右边缘紧贴屏幕右边缘

Screen.Windth是取得屏幕的宽度(单位为缇),Screen.TwipsPerPixelX是取得屏幕每像素的缇(不同设置每像素对应的缇不同)。然后移动找茬游戏Call MoveWindow(FhWnd,0,140, 800, 600,0)0,140是坐标,800,600是宽高。

4.差异提取

要得到两幅图的不同之处,用异或算法很简单,Windows API里正好有可用来图片异或的函数BitBlt,我们来看看函数原型:BitBlt可把源设备中的像素传送到目标设备。找茬游戏为源设备,外挂为目标设备。

hdcDest为目标设备号,这里填Me.lrDC。nXDest、nYDest为目标矩形区域的x、y坐标(这个坐标是相对于该设备而言的而不是相对于屏幕),填0,0。nWidth、nHeight为矩形区域的宽度和高度,只前测得380,285。hdcSrc为源设备号,设备号不同于句柄,可以用GetDC(Fhwnd)得到相应设备号。

nXSrc、nYSrc为源矩形区域的x、y坐标(同样是相对于该设备)。dwRop为光栅操作代码。拷贝图片缺省即可,亦或则需要填写&H660046。我们用BitBlt将找茬游戏的图先复制到外挂界面,然后再用BitBlt将之以异或的方式复制到外挂界面,这样它和外挂界面上的底图,就能比较出差异,显示在外挂界面上。Call BitBlt(Me.hDC,O,O,380, 285,GetDC(FhWnd),10,186,vbSrcCopy)’直接复制。Call BitBlt(Me.hDC,O,0,380, 285,GetDC(FhWnd),403,186,&H660046)’异或方式复制。

5。鼠标位置

差异有了,还需要能够接受用户的点击,将用户对外挂的点击模拟到游戏中去。首先要取到点击时鼠标相对于图片的位置,申明一个xy保存坐标。

然后Call GetCursorPos(xy)将鼠标位置坐标保存到xy中。得到的xy是相对于屏幕的,需要转换。

xy.x=xy.x -《Screen.width - 380木Screen.TwipsPerPixelX)/Screen.TwipsPerPixelX)得到鼠标相对于外挂窗体的坐标,即相对于图片的坐标。

xy.x= 10+ xy.x

xy.y= 186+ xy.y哒里得到相对于找茬窗体坐标

6.模拟单击

模拟一次单击可以用PostMessage。在此之前还需将xy进行高地位转换等,匹配PostMessage。lParam= xy.x十(xy,y 8 &Hl0000)’将坐标进行高地位等转换。

Call PostMessage(FhWnd, WM_LBUTTONDOWN,MK_LBUTTON, ByVal (lParan))’向游戏窗体投递鼠标单击消息。

7.一些杂项

Form_load()里,加入ok= FalseTimerl.Interval= 1000Timerl内容如下:

Timer2内容如下:

这样,外挂运行时1秒一次检测是否有找茬游戏,找到后停止寻找,设ok为True,延时两秒移动找茬游戏窗体。“更新按钮”和窗体被点击时加上判断ok是否为True,以免出错。

最后注意申明用到的API函数。

后记

使用后效果不错,遗憾的是不能实现自动化,想了很久也没想出方法。希望朋友们多多探索,多多进步!如果有朋友实现了自动化,希望能通过我们网站的地址联系危险漫步啊!

相关推荐