当前位置: 首页 > article >正文

「 硬核分享」 ❤️ QQ连连看自动消除外挂完整源码❤️「 复制即用」

目录

效果展示:

逆向过程:

 1.分析游戏 

 2.读取棋盘数据

 3.遍历棋盘

 4.模拟鼠标点击

 5.程序源码


效果展示:

C++游戏辅助实战入门系列01 连连看自动消除

逆向过程:

 1.分析游戏
 


 棋盘大小:19 *11
 棋盘基址:00199F5C   CE工具下载: QQ群:894356239

 游戏标题:QQ游戏 - 连连看角色版

 2.读取棋盘数据

        //1.获取游戏窗口句柄
        HWND hw = FindWindowA(0, "QQ游戏 - 连连看角色版");
        //2.获取进程id
        DWORD pid;
        GetWindowThreadProcessId(hw, &pid);
        //获取进程句柄
        HANDLE hPro=OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
       //读取棋盘数据
        BYTE chessData[11][19];
        ReadProcessMemory(hPro, (LPVOID)0x199F5C, &chessData, 19 * 11, 0);

 3.遍历棋盘

 4.模拟鼠标点击


  第一个小方块的坐标:x=24 y=195
  
  第 i行 第j列的小方块坐标:x=24+j*31,y=195+i*35

  击一个方块:SendMessage(hw, WM_LBUTTONDOWN, 0,(j<<16)+i);
                        SendMessage(hw, WM_LBUTTONUP, 0, (j << 16) + i);

复制代码,请给此篇博客点赞,如有不理解之处可移至本人录制的视频教程:
 视频讲解

/*程序清单*/

//Author:See QQ:3492625357
#include <iostream>
#include <windows.h>
using namespace std;
HWND hw;//游戏窗口句柄
BYTE g_chessData[11][19];//保存棋盘的数据bool getChessData()
{bool bRet = FALSE;do {hw = FindWindowA(0, "QQ游戏 - 连连看角色版");if (hw==NULL)break;DWORD pid;GetWindowThreadProcessId(hw, &pid);HANDLE hPro = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);if (hPro == NULL)break;if (!ReadProcessMemory(hPro, (LPVOID)0x199F5C, &g_chessData, 19 * 11, 0))break;bRet = TRUE;} while (FALSE);return bRet;
}void PrintChessData()
{for (int i = 0; i < 11; i++){for (int j = 0; j < 19; j++){std::cout << (int)g_chessData[i][j] << "\t";}std::cout << std::endl;}
}void Click2(int i, int j, int m, int n)
{//1.先点击第一个方块SendMessage(hw, WM_LBUTTONDOWN, 0,(j<<16)+i);SendMessage(hw, WM_LBUTTONUP, 0, (j << 16) + i);//2.点击第二个方块SendMessage(hw, WM_LBUTTONDOWN, 0, (n << 16) + m);SendMessage(hw, WM_LBUTTONUP, 0, (n << 16) + m);}void clearChess()
{if (getChessData()){for (int i = 0; i < 11; i++)for (int j = 0; j < 19; j++){for (int m = 0; m < 11; m++)for (int n = 0; n < 19; n++){if (g_chessData[i][j] == g_chessData[m][n]){Click2(24 + j * 31, 195 + i * 35, 24 + n * 31, 195 + m * 35);}}}}
}
int main()
{char ch;while (1){system("cls");cout << "****欢迎使用连连看助手****" << endl;cout << "****Y:开始消除  Q:退出****" << endl;cin >> ch;switch (ch){case 'Y':clearChess();break;case 'Q':exit(1);break;default:cout << "输入有误,请重新输入" << endl;break;}}
}


 

http://www.lryc.cn/news/2419941.html

相关文章:

  • python毕业设计:股票交易数据分析系统+可视化+Django框架 爬虫技术(源码)✅
  • 无需公网IP搭建的web服务器,简单易上手
  • 算法数据结构——背包问题详解(第四篇)
  • 五分钟学会搭建web网站
  • 手把手教你搭建自己的个人博客(图文教程)
  • 9大代理服务器软件的比较与分析
  • 海外电商平台开发流程
  • Milvus的向量索引(内存索引)
  • 【转】3gpp和3gpp2
  • 浏览器HTTP_USER_AGENT汇总——Firefox、Chrome、IE9、IE8、IE7、IE6
  • 软件质量管理体系_软件质量管理概述
  • 个人站长三次网站备案的经历及经验总结
  • 基于智能移动设备的IP电话软件的设计与实现
  • 83102 三种常见网络协议
  • 第二学期无人机操作师结业复习测试
  • OpenFeign不支持{}特殊字符的header解决
  • c语言中pause的作用,c++中的system(pause)的作用和含义解析
  • 微信小程序_介绍
  • 非诚勿扰又来一男程序员
  • 深度全方位盘点你眼中的IT行业现状与未来趋势
  • BZOJ 2462 BeiJing 2011 矩阵模板 二维hash
  • 2023计算机毕业设计SSM最新选题之java体育运动兴趣社区系统8bisy
  • CSS3:3D移动translate3d及3D转换透视效果perspective
  • 分布式系统架构网络之IDC机房
  • 靶向代谢组
  • 【UWB 定位】高精度定位
  • js获取数组长度-length属性的介绍
  • 专访 SphereEx 创始团队:获数百万美金投资,接棒 ShardingSphere 打造全新分布式生态
  • SpringBoot+Flowable 完美结合,优雅实现工作流!
  • EWSA破解WPA无线密码具体图文教程