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)
现在我们就来设置参数吧,我们看到参数设置不对的话,可能就不行,所以大家需要下去调试
这个坐标值,当然,我这里开始写外挂的时候就调试好了,这里就不详细介绍了。
我们来看一下外挂如何用吧。
我们看到,每次换图的时候,我们需要重新去截图,所以还不是很完善
我们看到外挂还是很好使用的,好了外挂的使用大家应该知道了,
我们看以下源代码
,源代码上面有注释,大家自己看看吧。今天就到这里,谢谢大家的支持!!!
源码:
[AppleScript] 纯文本查看 复制代码
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 left
1
,
right
1
;
int height
1
,
width
1
;
int cxSize
,
cySize;
HDC hdcMem;
HBITMAP hBitmap;
POINT pt;
TCHAR szString[]
=
TEXT
(
"大家好!!!, 我是Tortoiser -_- ~~~"
)
;
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
声明函数
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
BOOL CALLBACK DlgProc
(
HWND hDlg
,
UINT
message
,
WPARAM wParam
,
LPARAM lParam
)
;
BOOL CALLBACK AboutDlgProc
(
HWND hDlg
,
UINT
message
,
WPARAM wParam
,
LPARAM lParam
)
;
void CALLBACK TimerProc
(
HWND hwnd
,
UINT
message
,
UINT iTimerID
,
DWORD dwTime
)
;
LRESULT CALLBACK WinProc
(
HWND hwnd
,
/
/
handle
to
window
UINT uMsg
,
/
/
message
identifier
WPARAM wParam
,
/
/
first
message
parameter
LPARAM lParam
/
/
second
message
parameter
)
;
int WINAPI WinMain
(
HINSTANCE hInstance
,
/
/
handle
to
current instance
HINSTANCE hPrevInstance
,
/
/
handle
to
previous 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
)
;
return
0
;
}
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
)
;
}
return
msg.wParam;
}
LRESULT CALLBACK WinProc
(
HWND hwnd
,
/
/
handle
to
window
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
)
{
case
WM_CREATE
:
left
1.
x
=
175
;
left
1.
y
=
189
;
right
1.
x
=
683
;
right
1.
y
=
189
;
cxSize
=
GetSystemMetrics
(
SM_CXSCREEN
)
;
cySize
=
GetSystemMetrics
(
SM_CYSCREEN
)
;
width
1
=
cxSize
/
2
;
height
1
=
cySize;
hInstance
=
(
(
LPCREATESTRUCT
)
lParam
)
-
>
hInstance;
RegisterHotKey
(
hwnd
,
100
,
0
,
VK_F
4
)
;
SetWindowPos
(
hwnd
,
HWND_TOPMOST
,
0
,
0
,
0
,
0
,
SWP_NOMOVE|SWP_NOSIZE
)
;
break;
case
WM_COMMAND
:
switch
(
LOWORD
(
wParam
)
)
{
case
IDM_SET
:
DialogBox
(
hInstance
,
(
LPCTSTR
)
IDD_DIALOG
1
,
hwnd
,
(
DLGPROC
)
DlgProc
)
;
/
/
if
(
DialogBox
(
hInstance
,
TEXT
(
"SCR_COPY"
)
,
hwnd
,
DlgProc
)
)
/
/
InvalidateRect
(
hwnd
,
NULL
,
TRUE
)
;
return
0
;
case
IDM_CUT
:
MoveWindow
(
hwnd
,
cxSize
/
2
,
0
,
width
1
-
left
1.
x
-1
,
height
1
-125
,
TRUE
)
;
/
/
窗口移到右边
Sleep
(
200
)
;
/
/
稍等一下
hdc_me
=
GetDC
(
hwnd
)
;
hdcMem
=
CreateCompatibleDC
(
hdc_me
)
;
/
/
内存设备描述表
,
该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。
/
/
如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。
if
(
hBitmap
)
{
DeleteObject
(
hBitmap
)
;
hBitmap
=
NULL;
}
hBitmap
=
CreateCompatibleBitmap
(
hdc_me
,
width
1
-1
,
height
1
)
;
/
/
该函数创建与指定的设备环境相关的设备兼容的位图。
SelectObject
(
hdcMem
,
hBitmap
)
;
/
/
该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。
hdc
=
GetDCEx
(
desk_hwnd
,
0
,
DCX_LOCKWINDOWUPDATE
)
;
/
/
该函数检索指定窗口客户区域或整个屏幕的显示设备上下文环境的句柄
pt
=
left
1
;
ScreenToClient
(
hwnd
,
&
pt
)
;
BitBlt
(
hdcMem
,
0
,
0
,
width
1
-1
,
height
1
,
hdc
,
left
1.
x
,
left
1.
y
,
SRCCOPY
)
;
/
/
桌面左边图像放入内存
MoveWindow
(
hwnd
,
left
1.
x
,
0
,
width
1
-
left
1.
x
-1
,
height
1
-125
,
TRUE
)
;
/
/
窗口移到左边
Sleep
(
200
)
;
/
/
右边图像放入内存并进行异或操作
BitBlt
(
hdcMem
,
0
,
0
,
width
1
-
left
1.
x
,
height
1
-125
,
hdc
,
right
1.
x
+
1
,
right
1.
y
,
SRCINVERT
)
;
/
/
这句就是关键的一句算法,求异或操作
if
(
flag
)
KillTimer
(
hwnd
,
ID_TIMER
)
;
flag
=
1
;
SetTimer
(
hwnd
,
ID_TIMER
,
50
,
TimerProc
)
;
ReleaseDC
(
hwnd
,
hdc_me
)
;
ReleaseDC
(
desk_hwnd
,
hdc
)
;
return
0
;
case
IDM_ABOUT
:
DialogBox
(
hInstance
,
(
LPCTSTR
)
IDD_ABOUTBOX
,
hwnd
,
(
DLGPROC
)
AboutDlgProc
)
;
return
0
;
}
break;
case
WM_PAINT
:
hdc
=
BeginPaint
(
hwnd
,
&
ps
)
;
TextOut
(
hdc
,
50
,
50
,
szString
,
lstrlen
(
szString
)
)
;
EndPaint
(
hwnd
,
&
ps
)
;
return
0
;
case
WM_HOTKEY
:
if
(
IsWindowVisible
(
hwnd
)
)
ShowWindow
(
hwnd
,
SW_HIDE
)
;
else
ShowWindow
(
hwnd
,
SW_SHOW
)
;
SendMessage
(
hwnd
,
WM_COMMAND
,
IDM_CUT
,
0
)
;
return
0
;
case
WM_DESTROY
:
PostQuitMessage
(
0
)
;
break;
default
:
return
DefWindowProc
(
hwnd
,
uMsg
,
wParam
,
lParam
)
;
}
return
0
;
}
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
BOOL CALLBACK DlgProc
(
HWND hDlg
,
UINT
message
,
WPARAM wParam
,
LPARAM lParam
)
{
switch
(
message
)
{
case
WM_INITDIALOG
:
SetDlgItemInt
(
hDlg
,
IDC_L_X
,
left
1.
x
,
0
)
;
SetDlgItemInt
(
hDlg
,
IDC_L_Y
,
left
1.
y
,
0
)
;
SetDlgItemInt
(
hDlg
,
IDC_R_X
,
right
1.
x
,
0
)
;
SetDlgItemInt
(
hDlg
,
IDC_R_Y
,
right
1.
y
,
0
)
;
SetDlgItemInt
(
hDlg
,
IDC_HEIGHT
,
height
1
,
0
)
;
SetDlgItemInt
(
hDlg
,
IDC_WIDTH
,
width
1
,
0
)
;
return
0
;
case
WM_CLOSE
:
EndDialog
(
hDlg
,
FALSE
)
;
return
0
;
case
WM_COMMAND
:
switch
(
LOWORD
(
wParam
)
)
{
case
IDOK
:
left
1.
x
=
GetDlgItemInt
(
hDlg
,
IDC_L_X
,
NULL
,
0
)
;
left
1.
y
=
GetDlgItemInt
(
hDlg
,
IDC_L_Y
,
NULL
,
0
)
;
right
1.
x
=
GetDlgItemInt
(
hDlg
,
IDC_R_X
,
NULL
,
0
)
;
right
1.
y
=
GetDlgItemInt
(
hDlg
,
IDC_R_Y
,
NULL
,
0
)
;
height
1
=
GetDlgItemInt
(
hDlg
,
IDC_HEIGHT
,
NULL
,
0
)
;
width
1
=
GetDlgItemInt
(
hDlg
,
IDC_WIDTH
,
NULL
,
0
)
;
EndDialog
(
hDlg
,
TRUE
)
;
return
TRUE;
}
}
return
0
;
}
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
BOOL CALLBACK AboutDlgProc
(
HWND hDlg
,
UINT
message
,
WPARAM wParam
,
LPARAM lParam
)
{
switch
(
message
)
{
case
WM_INITDIALOG
:
return
TRUE;
case
WM_COMMAND
:
if
(
LOWORD
(
wParam
)
=
=
IDOK || LOWORD
(
wParam
)
=
=
IDCANCEL
)
{
EndDialog
(
hDlg
,
LOWORD
(
wParam
)
)
;
return
TRUE;
}
break;
}
return
FALSE;
}
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
void CALLBACK TimerProc
(
HWND hwnd
,
UINT
message
,
UINT iTimerID
,
DWORD dwTime
)
{
HDC hdc_me
=
GetDC
(
hwnd
)
;
POINT pos
,
pos
2
;
HBRUSH hBrush;
BitBlt
(
hdc_me
,
0
,
pt.y
,
width
1
-1
,
height
1
,
hdcMem
,
0
,
0
,
SRCCOPY
)
;
hBrush
=
CreateSolidBrush
(
RGB
(
255
,
100
,
255
)
)
;
SelectObject
(
hdc_me
,
hBrush
)
;
GetCursorPos
(
&
pos
)
;
pos
2
=
pos;
ScreenToClient
(
hwnd
,
&
pos
2
)
;
Ellipse
(
hdc_me
,
pos.x
-
cxSize
/
2
-5
,
pos
2.
y
-5
,
pos.x
-
cxSize
/
2
+
5
,
pos
2.
y
+
5
)
;
DeleteObject
(
hBrush
)
;
ReleaseDC
(
hwnd
,
hdc_me
)
;
}
QQ美女找茬源码+使用教程----附件下载地址:
http://pan.baidu.com/share/link?shareid=134418&uk=3677227264
- QQ美女找茬辅助器源代码~~~
- QQ美女找茬辅助器制作
- QQ找茬辅助器
- QQ游戏美女找茬外挂
- 自己写的QQ美女找茬外挂
- QQ大厅游戏 大家来找茬辅助
- 用Java写美女来找茬辅助软件
- 才子佳人与QQ游戏美女找茬外挂实现
- 青青子美人之QQ美女找茬辅助工具c#源码
- 美女找茬外挂程序
- BNUOJ 美女来找茬
- QQ美女找茬工具,大家测试一下,看看有没有问题
- Bnuoj 4315 美女来找茬
- QQ找茬Plus
- QQ找茬辅助工具 C#
- QQ游戏找茬
- 一个失败的作品,QQ找茬作弊器
- opencv做的美女找茬程序~
- 两个大数(位数在50位以上)相加
- Oracle(二)-多表链接查询
- Github入门1之设置git
- 虚拟机Ubuntu 13.04 在Easy Install 下安装vmware tools 过程及遇到的问题总结
- 设计模式(三)-- 适配器模式(Adapter)
- QQ美女找茬辅助器源代码~~~
- IE浏览器的“浏览器模式”和“文档模式”
- Oracle(二)-隐私转换的问题(number与char)
- NI视觉视觉软件简介
- TO_DATE()函数:日期转换时使用RR格式的注意事项
- asdf
- NEXT_DAY(’01-SEP-95′,1) 错误:ORA-01843:无效的月份
- 水仙花数
- Oracle中的Round和Trunc