首页
社区
课程
招聘
[原创]闲来无事--写了一个QQ美女找茬辅助器
发表于: 2012-11-19 22:39 10903

[原创]闲来无事--写了一个QQ美女找茬辅助器

2012-11-19 22:39
10903

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

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

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

里面需要设置一些参数。

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

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

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

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

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

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

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

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

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

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











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

源码:


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 6
支持
分享
最新回复 (19)
雪    币: 27
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
沙发我占了
2012-11-19 22:52
0
雪    币: 8225
活跃值: (3366)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
前排强势插入
2012-11-19 23:56
0
雪    币: 291
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
其实以前我写过一个,思路很简单,
1、左右截图
2、然后用第一张(p1)覆盖第二张(p2),
3、设置 timer,  改变p2  alpha

通过以上方法,可以使不同的地方达到闪烁的效果,非常好用 ~~~~省去了图片复杂处理的过程
2012-11-20 09:01
0
雪    币: 114
活跃值: (180)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼上方法不错
2012-11-20 14:52
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
受教。
2012-11-20 18:23
0
雪    币: 5047
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习下~多谢~
2012-11-20 19:47
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习............哈哈...
2012-11-20 19:53
0
雪    币: 2028
活跃值: (1096)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
支持楼主分享,多谢了。
2012-11-20 20:54
0
雪    币: 191
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
学习下~多谢~
2012-11-20 22:17
0
雪    币: 29
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
楼主的程序几十兆?我没看错吧。。

4l 的办法很好,向各位学习
2012-11-20 22:43
0
雪    币: 27
活跃值: (127)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
12
听起来是个好方法,就是不明白“覆盖”和“改变p2  alpha”
从代码上怎么体现的 -_-!
2012-11-20 22:57
0
雪    币: 389
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
呵呵,支持下
2012-11-20 23:31
0
雪    币: 1149
活跃值: (888)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
14
我说个实话 ,代码很眼熟.....
2012-11-20 23:41
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
Nice Trick
2012-11-21 07:34
0
雪    币: 73
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
好久没来~~后排插入
2012-11-22 11:04
0
雪    币: 782
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
75.29M?没搞错吧……
2012-11-23 20:44
0
雪    币: 2
活跃值: (199)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
插入~~~~~~
2012-11-24 12:39
0
雪    币: 517
活跃值: (84)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
19
呃,以前很早有人发过QQ找茬、QQ美女找茬的不同点的关键内存位,自己也写过瞬过的DLL。
估计现在那些地址已经变化了,没关系了,放出代码。

#include "stdafx.h"

#include "E:\\work\\封装头文件\\mkValue.h"

WNDPROC OldProc = 0;
HWND MainHwnd = 0;

//#include "E:\\work\\封装头文件\\dbgout.h"

LRESULT CALLBACK NewProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
LRESULT rets = CallWindowProc(OldProc,hWnd,uMsg,wParam,lParam);
if(WM_PAINT == uMsg)
{
try
{
unsigned long dw1 = mkL(0x47E858+0x27C7C+0xA20);
//errs<<"dw1:"<<(void*)dw1<<endd;
unsigned long dw2 = mkL(0x47E858+0x27C7C+0x18+0x4);
//errs<<"dw2:"<<(void*)dw2<<endd;
unsigned long dwECX = dw1*0xC0+dw2;
//errs<<"dwECX:"<<(void*)dwECX<<endd;
unsigned short* lpx = (unsigned short*)(dwECX+0x16);
unsigned short* lpy = (unsigned short*)(dwECX+0x2A);
//HDC hdc = GetDC(MainHwnd);
for(size_t i = 0;i<5;++i)
{
//errs<<"("<<*lpx<<','<<*lpy<<')'<<endd;
//errs<<"("<<*(lpx+0x16-20-20)<<','<<*(lpy+0x16-20)<<')'<<"-----"<<endd;
//TextOut(hdc,*lpx + 11,*lpy + 183,TEXT("@@"),2);
PostMessage(MainHwnd,WM_LBUTTONDOWN,MK_LBUTTON,((*lpy + 183 + 3)<<16)+(*lpx + 11 + 3));
mkL(0x4A6F90) = 0;
++lpx;++lpy;
}
//ReleaseDC(MainHwnd,hdc);
SetWindowText(MainHwnd,TEXT("找茬辅助,正在运行..."));
}
catch(...)
{
;
}

}
return rets;
}

BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
MainHwnd = FindWindow(NULL,TEXT("大家来找茬"));
// errs<<"MainHwnd:"<<(void*)MainHwnd<<endd;
if(MainHwnd)
OldProc = (WNDPROC)SetWindowLongPtr(MainHwnd,GWLP_WNDPROC,(LONG_PTR)NewProc);
// errs<<"OldProc:"<<(void*)OldProc<<endd;
break;
case DLL_THREAD_ATTACH:break;
case DLL_THREAD_DETACH:break;
case DLL_PROCESS_DETACH:
if(MainHwnd&&OldProc)
SetWindowLongPtr(MainHwnd,GWLP_WNDPROC,(LONG_PTR)OldProc);
break;
}
return TRUE;
}

2012-11-27 15:35
0
雪    币: 89
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
好好学些,天天向善
2012-11-27 15:52
0
游客
登录 | 注册 方可回帖
返回
//