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

wordpress程序建站百度高级搜索页面

wordpress程序建站,百度高级搜索页面,家乡网页制作模板,东莞市纺织服装学校免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:38.第二阶段x86游戏实战2-HOOK窗口消息机制

上一个内容里写了HOOK主线程,本次就让我们的call到主线程里进行执行

主线程调用流程

首先如下图红框通过SendMessage函数把一个消息发送到Windows的消息队列中,它会发送三个用来做判断的数据,窗口句柄、消息idA、消息idB(一般这个消息idB和消息idA配合使用,一般消息idA表示系列函数,消息idB表示系列函数中哪一个函数)

然后通过SetWindowsHookEx函数给游戏主线程做HOOK,HOOK之后只要有消息就会调用 Call_主线程回调函数 函数

然后 Call_主线程回调函数 里判断是不是有消息号

CM.cpp文件的修改:修改了 OnBnClickedButton2函数(这是寻路按钮的点击事件处理函数)寻路修改为通过Windows消息队列调用

// CM.cpp: 实现文件
//#include "pch.h"
#include "tl.h"
#include "CM.h"
#include "afxdialogex.h"// CM 对话框IMPLEMENT_DYNAMIC(CM, CDialogEx)CM::CM(CWnd* pParent /*=nullptr*/): CDialogEx(IDD_DIALOG1, pParent), edi_x(_T(""))
{}CM::~CM()
{
}void CM::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT1, edi_x);DDX_Text(pDX, IDC_EDIT2, edi_y);
}BEGIN_MESSAGE_MAP(CM, CDialogEx)ON_BN_CLICKED(IDC_BUTTON1, &CM::OnBnClickedButton1)ON_BN_CLICKED(IDC_BUTTON2, &CM::OnBnClickedButton2)ON_BN_CLICKED(IDC_BUTTON3, &CM::OnBnClickedButton3)ON_BN_CLICKED(IDC_BUTTON4, &CM::OnBnClickedButton4)ON_BN_CLICKED(IDC_BUTTON5, &CM::OnBnClickedButton5)ON_BN_CLICKED(IDC_BUTTON6, &CM::OnBnClickedButton6)
END_MESSAGE_MAP()// CM 消息处理程序void CM::OnBnClickedButton1()
{R_人物属性 a;a.初始化();Call_输出调试信息("人物信息:人物状态%d",a.状态);
}void CM::OnBnClickedButton2()
{UpdateData(TRUE);CString str1 = edi_x;CString str2 = edi_y;// strtol((const char*)CW2A(str1.GetBuffer(0)), NULL, 10);把字符串转成int数字类型int x = strtol((const char*)CW2A(str1.GetBuffer(0)), NULL, 10);int y = strtol((const char*)CW2A(str2.GetBuffer(0)), NULL, 10);Msg_xl(x, y);
}void CM::OnBnClickedButton3()
{R_遍历背包 a;a.遍历背包();// 遍历背包CString str;str.Format(L"a数量 %d", a.d数量);AfxMessageBox(str);for (int i = 0; i < a.d数量; i++){Call_输出调试信息("tl怀旧   背包信息 dwObject -------------%X----------------\r\n", a.列表[i].dwObject);Call_输出调试信息("tl怀旧   背包信息 名字:%s\r\n", a.列表[i].pName.c_str());Call_输出调试信息("tl怀旧   背包信息 使用等级:%d\r\n", a.列表[i].p使用等级);Call_输出调试信息("tl怀旧   背包信息 简介:%s\r\n", a.列表[i].简介.c_str());Call_输出调试信息("tl怀旧   背包信息 数量:%d\r\n", a.列表[i].p数量);}}void CM::OnBnClickedButton4()
{// TODO: 在此添加控件通知处理程序代码R_周围遍历 a;a.遍历最近怪物();// 让怪物重新排列for (int i = 0; i < a.d数量; i++){Call_输出调试信息("人物信息:---------------------%s-----%x---------------------", a.列表[i].pName, a.列表[i].dwObject);Call_输出调试信息("人物信息:人物id:%x", a.列表[i].id);Call_输出调试信息("人物信息:人物X:%f 人物Y:%f", a.列表[i].fX, a.列表[i].fY);Call_输出调试信息("人物信息:人物类型:%x  人物距离:%f", a.列表[i].PType, a.列表[i].距离);}
}void CM::OnBnClickedButton5()
{// TODO: 在此添加控件通知处理程序代码R_遍历技能 a;a.AsmGetMonsterData();// 遍历技能for (int i = 0; i < a.d数量; i++){Call_输出调试信息("tl怀旧   技能信息 名字:---------------%s-----------------------\r\n", a.列表[i].pName.c_str());Call_输出调试信息("tl怀旧   技能信息 ID:%d\r\n", a.列表[i].pID);Call_输出调试信息("tl怀旧   技能信息 是否冷却:%s\r\n", a.列表[i].冷却.c_str());Call_输出调试信息("tl怀旧   技能信息 冷却ID:%x\r\n", a.列表[i].冷却ID);Call_输出调试信息("tl怀旧   技能信息 对象地址:%x\r\n", a.列表[i].dwObject);}
}void CM::OnBnClickedButton6()
{Call_Hook主线程();
}

新加Hook.h文件,把HOOK相关的代码全放到了这里面

#pragma once
#include "pch.h"DWORD Call_Hook主线程();
HWND Call_获取窗口句柄();
void Msg_xl(DWORD X, DWORD Y);
//DWORD Call_卸载Hook主线程();#define ID_寻路 0x902struct T寻路参数
{DWORD X;DWORD Y;
};

新加Hook.cpp文件

#include "pch.h"HHOOK g_Hook返回;
const DWORD g_My消息ID = RegisterWindowMessageA("MyMsyCode");// 注册一个消息号
HWND Call_获取窗口句柄()
{// 获取游戏存放的窗口句柄,通过CE搜索spy++的句柄找到的HWND hGame = (HWND)((DWORD)GetModuleHandleA("CEGUIBase.dll") + 0x251030);hGame = *(HWND*)hGame;return hGame;
}void Msg_xl(DWORD X, DWORD Y)
{T寻路参数 寻路;寻路.X = X;寻路.Y = Y;::SendMessageA(Call_获取窗口句柄(), g_My消息ID, ID_寻路, (LPARAM)&寻路);
}//主线程回调函数
LRESULT CALLBACK Call_主线程回调函数(int nCode, WPARAM wParam, LPARAM lparam)
{/*::SendMessageA(Call_获取窗口句柄(), g_My消息ID, ID_寻路, (LPARAM)&寻路);CWPSTRUCT类型的参数分别对应SendMessageA函数的入参,如下LPARAM  lParam =  (LPARAM)&寻路WPARAM  wParam = ID_寻路UINT    message = g_MyHWND    hwnd = Call_获取窗口句柄()*/CWPSTRUCT *lpArg = (CWPSTRUCT*)lparam;//结构  hwnd message wParam lParamif (nCode == HC_ACTION)//自己进程的消息{if (lpArg->hwnd == Call_获取窗口句柄() && lpArg->message == g_My消息ID)//我们自己的消息  {string luaText;switch (lpArg->wParam){T寻路参数*寻路;case ID_寻路:寻路 = (T寻路参数*)lpArg->lParam;Call_xunlu(寻路->X, 寻路->Y);return 1;break;}}}return CallNextHookEx(g_Hook返回, nCode, wParam, lparam);
}DWORD Call_Hook主线程()
{HWND hGame = Call_获取窗口句柄();// 通过句柄获取窗口的线程idDWORD ndThreadId = GetWindowThreadProcessId(hGame, NULL);if (ndThreadId != 0){// 注册窗口HOOK,SetWindowsHookEx是微软提供g_Hook返回 = SetWindowsHookEx(WH_CALLWNDPROC, Call_主线程回调函数, NULL, ndThreadId);}return 1;
}

上方的代码不全,只有手写的代码

完整代码:

链接:https://pan.baidu.com/s/1W-JpUcGOWbSJmMdmtMzYZg?pwd=q9n5

提取码:q9n5

复制这段内容后打开百度网盘手机App,操作更方便哦


img

http://www.wangmingla.cn/news/72034.html

相关文章:

  • 建网站做联盟佛山网站建设模板
  • 什么是网站建设流程动态网站的制作与设计
  • 17做网站骗子网站分析
  • 2017做哪些网站能致富长春网站开发公司
  • 中国建设银行官方网站纪念币宁波seo推广外包公司
  • 网站后台管理系统需求网站权重什么意思
  • 做网站开发的想接私活厦门人才网最新招聘信息
  • 免费手机网站开发最近七天的新闻重点
  • 网站后台管理员怎么做今日特大新闻
  • 做网站月度总结百度如何投放广告
  • 免费给别人做任务的网站东莞公司网上推广
  • 青海wap网站建设找关键词
  • 婚纱摄影网站的设计思路网络策划
  • 建设网站的提成是多少十大品牌营销策划公司
  • 做营销型网站公司友情网站
  • 网站后台关键词怎么设置广州百度seo排名
  • 网站建设哪家专业网站权重什么意思
  • 关于网页设计的教育网站设计如何增加网站的外链
  • 专业网络营销外包公司快速整站排名seo教程
  • 有没有做网站的多少钱seo网络运营
  • 百度站长平台h5网站头条今日头条
  • 课题网站建设培训简讯百中搜
  • 网站建设风景课程设计报告百度推广官网
  • 一个域名可以做几个网站吗网络营销课程设计
  • 用服务器建立网站大众网疫情最新消息
  • python 做网站很快吗推广优化网站排名教程
  • 大连做网站外包图片搜索识图入口
  • 网站的界面设计怎么做常用的关键词优化策略有哪些
  • 焦作市网站建设哪家好营销培训课程
  • 做开发网站需要办理营业执照嘛全网推广费用