XP扫雷秒杀VC代码,用的着的拿去
1.CE查基址2.分析数据3.读出数据判断为0x0F还是0x8F
4.发送鼠标消息
具体不多说了,代码发上去给大家看看吧
//////////////////////////////////////////////////////////////////////////
const int gameBaseAddr=0x1005361;//棋盘基址:0x1005360 第1个为0x10第32个也为0x10所以列最多为30
const int NeedMark=0x8F;//雷,需要标棋
const int NeedTurnOver=0x0F;//需要翻开
const CString szGameCaption=L"扫雷";
//////////////////////////////////////////////////////////////////////////
//翻开空为0x40 显示n就是0x40+n
//////////////////////////////////////////////////////////////////////////
void CXP扫雷外挂Dlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//CDialogEx::OnOK();
HWND hGame=::FindWindow(NULL,szGameCaption);
if (hGame==NULL)
{
AfxMessageBox(L"请先打开游戏!");
return;
}
DWORD Pid;
::GetWindowThreadProcessId(hGame,&Pid);
HANDLE hProcesss=OpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid);
if (NULL==hProcesss)
{
AfxMessageBox(L"打开进程失败!");
return;
}
CRect rect;
::GetWindowRect(hGame,&rect);
for(int y=0;y<16;++y)
for(int x=0;x<30;++x)
{
int buf=0;
::ReadProcessMemory(hProcesss,LPCVOID(gameBaseAddr+y*32+x),&buf,1,0);
if(buf==NeedMark)
{
int lpraram=((y*16+60)<<16)+(x*16+20);
::SendMessage(hGame,WM_RBUTTONDOWN,0,lpraram);
::SendMessage(hGame,WM_RBUTTONUP,0,lpraram);
}
else if (buf==NeedTurnOver)
{
int lpraram=((y*16+60)<<16)+(x*16+20);
::SendMessage(hGame,WM_LBUTTONDOWN,0,lpraram);
::SendMessage(hGame,WM_LBUTTONUP,0,lpraram);
//
SetCursorPos(rect.left+20+x*16,rect.top+60+45+y*16);
//
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
//
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
}
}
CloseHandle(hProcesss);
}
真是个悲剧 !发了两天只有2个2人下载,没人回复,以后不发这了。 回复 alweeq86 的帖子
大家都一样。。。 共享嘛,就是让需要的人用。楼主不必在意多少人下多少人回。 没研究过,下载来看看 ...共享嘛!不用在乎多少个人用!感谢楼主分享 感谢楼主分享,真想联系上你,请教一下。 支持!!!!!!!!!!!!!!! 别介啊,好东西啊玩笑游戏是很好用啊 扫雷都有外挂了,哈哈
别呀,以后发,俺会支持的~~~