QQ美女找茬辅助器源代码~~~

来源:互联网 发布:docker 端口 映射 编辑:程序博客网 时间:2024/04/27 22:55

转载自http://www.52pojie.cn/forum.php?mod=viewthread&tid=173280

本帖最后由 Tortoiser 于 2012-11-19 22:22 编辑

大家好!!!我是Tortoiser,这些天闲来无事,就做了一个QQ美女找茬的辅助器,

这个外挂的算法很简单,就是利用函数bitblt(),然后异或操作,把不同的显示出来,相同的就变味黑色了

这个辅助器还不是很好,有一些不足,大家可以下来自己去完善他的功能。

里面需要设置一些参数。

好吧,我们废话不多说,直接来看他的使用方法吧。


我们看到了,用QQ截屏的方式可以看到我们的左上角的坐标是(173,190),现在来看一下右图的左上角坐标
(683,192),现在我们的参数找到了,由于人的视觉误差,我们要对着四个数修正,

我们可以看到这两个点的Y坐标肯定是相等的,所以我们再来用截图确认一下Y的值:192(这个值可以慢慢来)


然后再来看看我们的第一个点(175,192)

第二个点X大概在684(684,192)

现在我们就来设置参数吧,我们看到参数设置不对的话,可能就不行,所以大家需要下去调试

这个坐标值,当然,我这里开始写外挂的时候就调试好了,这里就不详细介绍了。

我们来看一下外挂如何用吧。

我们看到,每次换图的时候,我们需要重新去截图,所以还不是很完善

我们看到外挂还是很好使用的,好了外挂的使用大家应该知道了,

1.png 

2.png 

3.png 

4.png 

5.png 

我们看以下源代码
,源代码上面有注释,大家自己看看吧。今天就到这里,谢谢大家的支持!!!


源码:

[AppleScript] 纯文本查看 复制代码
?
吾爱破解论坛[LCG][LSG] http://www.52pojie.cn
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
#include "stdafx.h"
#include "resource.h"
#include <stdio.h>
#include "QQ美女找茬外挂源码.h"
 
#define ID_TIMER 1
#define MAX_LOADSTRING 100
//////////////////////变量,对象/////////////////////////////////////////////
POINT left1,right1;
int height1,width1;
int cxSize,cySize;
HDC hdcMem;
HBITMAP hBitmap;
POINT pt;
TCHAR szString[] =TEXT ("大家好!!!, 我是Tortoiser -_- ~~~");
/////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
///声明函数
///////////////////////////////////////////////////////////////
BOOL CALLBACK DlgProc(HWND hDlg,UINTmessage,WPARAM wParam,LPARAM lParam);
BOOL CALLBACK AboutDlgProc(HWND hDlg,UINTmessage,WPARAM wParam,LPARAM lParam);
void CALLBACK TimerProc(HWND hwnd,UINTmessage,UINT iTimerID,DWORD dwTime);
LRESULT CALLBACK WinProc(
HWND hwnd,//handle towindow
UINT uMsg,//message identifier
WPARAM wParam,//first message parameter
LPARAM lParam //second message parameter
);
int WINAPI WinMain(
HINSTANCE hInstance,//handle tocurrent instance
HINSTANCE hPrevInstance,//handle toprevious instance
LPSTR lpCmdLine,//command line
int iCmdShow //show state
)
{
static TCHAR szAppName[] =TEXT ("QQ美女找茬外挂");
WNDCLASS wndclass;
HWND hwnd;
MSG msg;
wndclass.cbClsExtra=0;//默认
wndclass.cbWndExtra=0;//默认
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//默认
wndclass.hIcon=LoadIcon(hInstance,szAppName);
wndclass.hInstance=hInstance;//默认
wndclass.lpfnWndProc=WinProc;
wndclass.lpszClassName=szAppName;
wndclass.lpszMenuName=MAKEINTRESOURCE(IDC_QQ);
wndclass.style=CS_HREDRAW | CS_VREDRAW; //默认
 
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT ("This program requires Windows NT!"),szAppName,MB_ICONERROR);
return0 ;
}
 
 
 
hwnd=CreateWindow(szAppName,
szAppName,
WS_OVERLAPPEDWINDOW,
0,
0,
500,
400,
NULL,
LoadMenu(hInstance,MAKEINTRESOURCE(IDC_QQ)),
hInstance,
NULL);
 
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
 
 
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
LRESULT CALLBACK WinProc(
HWND hwnd,//handle towindow
UINT uMsg,//message identifier
WPARAM wParam,//first message parameter
LPARAM lParam //second message parameter
)
{
TCHAR szAppName[] =TEXT ("QQ美女找茬外挂");
static HINSTANCE hInstance;
static count =0;
static flag =0;
HDC hdc_me,hdc;//依次为窗口设备描述表,桌面DC
PAINTSTRUCT ps;
HWND desk_hwnd =GetDesktopWindow();
 
switch(uMsg)
{
caseWM_CREATE:
left1.x=175;
left1.y=189;
right1.x=683;
right1.y=189;
cxSize=GetSystemMetrics(SM_CXSCREEN);
cySize=GetSystemMetrics(SM_CYSCREEN);
width1= cxSize/2;
height1= cySize;
 
hInstance=((LPCREATESTRUCT)lParam)->hInstance;
RegisterHotKey(hwnd,100,0,VK_F4);
SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
 
break;
caseWM_COMMAND:
switch(LOWORD(wParam))
{
caseIDM_SET:
DialogBox(hInstance,(LPCTSTR)IDD_DIALOG1,hwnd,(DLGPROC)DlgProc);
//if(DialogBox(hInstance,TEXT("SCR_COPY"),hwnd,DlgProc))
//InvalidateRect(hwnd,NULL,TRUE);
return0;
 
caseIDM_CUT:
MoveWindow(hwnd,cxSize/2,0,width1-left1.x-1,height1-125,TRUE);//窗口移到右边
Sleep(200);//稍等一下
hdc_me=GetDC(hwnd);
hdcMem=CreateCompatibleDC(hdc_me);//内存设备描述表,该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。
//如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。
if(hBitmap)
{
DeleteObject(hBitmap);
hBitmap=NULL;
}
hBitmap=CreateCompatibleBitmap(hdc_me,width1-1,height1);//该函数创建与指定的设备环境相关的设备兼容的位图。
SelectObject(hdcMem,hBitmap);//该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。
hdc=GetDCEx(desk_hwnd,0,DCX_LOCKWINDOWUPDATE);//该函数检索指定窗口客户区域或整个屏幕的显示设备上下文环境的句柄
pt=left1;
ScreenToClient(hwnd,&pt);
BitBlt(hdcMem,0,0,width1-1,height1,hdc,left1.x,left1.y,SRCCOPY);//桌面左边图像放入内存
MoveWindow(hwnd,left1.x,0,width1-left1.x-1,height1-125,TRUE);//窗口移到左边
Sleep(200);
 
//右边图像放入内存并进行异或操作
BitBlt(hdcMem,0,0,width1-left1.x,height1-125,hdc,right1.x+1,right1.y,SRCINVERT);//这句就是关键的一句算法,求异或操作
 
 
if(flag)
KillTimer(hwnd,ID_TIMER);
flag=1;
SetTimer(hwnd,ID_TIMER,50,TimerProc);
ReleaseDC(hwnd,hdc_me);
ReleaseDC(desk_hwnd,hdc);
 
return0;
caseIDM_ABOUT:
DialogBox(hInstance,(LPCTSTR)IDD_ABOUTBOX,hwnd,(DLGPROC)AboutDlgProc);
return0;
}
break;
caseWM_PAINT:
hdc=BeginPaint (hwnd,&ps);
 
TextOut(hdc,50,50,szString,lstrlen(szString));
EndPaint(hwnd,&ps);
return0 ;
caseWM_HOTKEY:
if(IsWindowVisible(hwnd))
ShowWindow(hwnd,SW_HIDE);
else
ShowWindow(hwnd,SW_SHOW);
SendMessage(hwnd,WM_COMMAND,IDM_CUT,0);
return0;
caseWM_DESTROY:
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hwnd,uMsg,wParam,lParam);
}
return0;
}
 
///////////////////////////////////////////////////////////////////
BOOL CALLBACK DlgProc(HWND hDlg,UINTmessage,WPARAM wParam,LPARAM lParam)
{
 
switch(message)
{
caseWM_INITDIALOG:
SetDlgItemInt(hDlg,IDC_L_X,left1.x,0);
SetDlgItemInt(hDlg,IDC_L_Y,left1.y,0);
SetDlgItemInt(hDlg,IDC_R_X,right1.x,0);
SetDlgItemInt(hDlg,IDC_R_Y,right1.y,0);
SetDlgItemInt(hDlg,IDC_HEIGHT,height1,0);
SetDlgItemInt(hDlg,IDC_WIDTH,width1,0);
return0;
caseWM_CLOSE:
EndDialog(hDlg,FALSE);
return0;
caseWM_COMMAND:
switch(LOWORD(wParam))
{
caseIDOK:
 
left1.x=GetDlgItemInt(hDlg,IDC_L_X,NULL,0);
left1.y=GetDlgItemInt(hDlg,IDC_L_Y,NULL,0);
right1.x=GetDlgItemInt(hDlg,IDC_R_X,NULL,0);
right1.y=GetDlgItemInt(hDlg,IDC_R_Y,NULL,0);
height1= GetDlgItemInt(hDlg,IDC_HEIGHT,NULL,0);
width1= GetDlgItemInt(hDlg,IDC_WIDTH,NULL,0);
EndDialog(hDlg,TRUE);
returnTRUE;
}
}
return0;
}
 
///////////////////////////////////////////////////////////////////
BOOL CALLBACK AboutDlgProc(HWND hDlg,UINTmessage,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
caseWM_INITDIALOG:
returnTRUE;
caseWM_COMMAND:
if(LOWORD(wParam)==IDOK || LOWORD(wParam)==IDCANCEL)
{
EndDialog(hDlg,LOWORD(wParam));
returnTRUE;
}
break;
}
 
returnFALSE;
}
///////////////////////////////////////////////////////////////////
void CALLBACK TimerProc(HWND hwnd,UINTmessage,UINT iTimerID,DWORD dwTime)
{
HDC hdc_me =GetDC(hwnd);
POINT pos,pos2;
HBRUSH hBrush;
BitBlt(hdc_me,0,pt.y,width1-1,height1,hdcMem,0,0,SRCCOPY);
hBrush=CreateSolidBrush(RGB(255,100,255));
SelectObject(hdc_me,hBrush);
 
GetCursorPos(&pos);
pos2= pos;
ScreenToClient(hwnd,&pos2);
Ellipse(hdc_me,pos.x-cxSize/2-5,pos2.y-5,pos.x-cxSize/2+5,pos2.y+5);
DeleteObject(hBrush);
ReleaseDC(hwnd,hdc_me);
 
}


QQ美女找茬源码+使用教程----附件下载地址:

http://pan.baidu.com/share/link?shareid=134418&uk=3677227264