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

资阳网站建设优化网站怎么做

资阳网站建设,优化网站怎么做,东城区住房和建设委员会网站,李宁网站建设计划书免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:39.第二阶段x64游戏实战-封包-分析计数器 本次添加发送数据包功能,…

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

本次游戏没法给

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

上一个内容:39.第二阶段x64游戏实战-封包-分析计数器

本次添加发送数据包功能,发送数据包需要使用主线程调用(其它线程可能会有问题)

首先改一下按钮显示的文本,然后鼠标左键双击按钮创建点击时执行的函数

创建发包按钮点击时执行的函数

代码说明

下图红框的代码说明

假设数据包是 3131313131,如下图3131313131到输入框中就变成了字符串,也就是std::string,可以看到内存是33 31 33 31...并不是3131313131了,所以使用 sscanf_s(strCode.c_str(), "%02x", &Pbyte[i / 2]); 把字符串当成十六进制放到Pbyte里进程转换成 3131313131

添加类 GameCall

发包功能逻辑,首先通过点击发包按钮执行 pCall->SendPacket(m_size, Pbyte); 代码

然后SendPacket执行 pMsg->PostFunc((QWORD)PacketAddr, nLen, 0, 0, 0, 0, 0, 0, 0x1001);

然后PostFunc执行SendMessageA发送消息

然后CMessage初始化的时候调用HookMainThread_Begin函数

然后HookMainThread_Begin函数里调用SetWindowsHookEx获取主线程的消息循环

然后SetWindowsHookEx后有消息就会调用CallBackFunction函数,然后在CallBackFunction函数中判断0x1001消息id,在里面调用send函数发送数据包

HHOOK g_HookReturn = NULL;
const DWORD g_MyID = RegisterWindowMessageA("MyMsyCode");
UINT64 g_Ret = 0;
struct stu_Msg
{UINT64 CallAddr = 0;UINT64 argRcx = 0;UINT64 argRdx = 0;UINT64 argR8 = 0;UINT64 argR9 = 0;UINT64 argRsp20 = 0;UINT64 argRsp28 = 0;UINT64 argRsp30 = 0;HANDLE CallEvent = 0;
};
LRESULT CALLBACK CallBackFunction(int nCode, WPARAM wParam, LPARAM lparam)
{CWPSTRUCT* lpArg = (CWPSTRUCT*)lparam;//结构  hwnd message wParam lParamif (nCode == HC_ACTION)//自己进程的消息{if (lpArg->hwnd == m_Hwnd && lpArg->message == g_MyID)//我们自己的消息  {stu_Msg* p_arguments;p_arguments = (stu_Msg*)lpArg->lParam;//MessageBeep(1);switch (lpArg->wParam){case 0x1001: {QWORD Socket = ReadDword64(ReadDword64(ReadDword64(g_GameBase + SOCKET地址) + 0x40 + 0x78 + 8) + 8);BYTE count = ReadByte(ReadDword64(g_GameBase + 发包计数基地址) + 0x7a0);WriteByte(p_arguments->CallAddr + 5, count);WriteByte(ReadDword64(g_GameBase + 发包计数基地址) + 0x7a0, count + 1);//LogA("%p", Socket);send(Socket, (const char*)p_arguments->CallAddr, p_arguments->argRcx, 0);SetEvent(p_arguments->CallEvent);return 1;}}//	PostFuncs(p_arguments->CallAddr,p_arguments->argRcx, p_arguments->argRdx, p_arguments->argR8, p_arguments->argR9, p_arguments->argRsp20, p_arguments->argRsp28, p_arguments->argRsp30);return 1;}}return CallNextHookEx(g_HookReturn, nCode, wParam, lparam);
}void CMessage::HookMainThread_Begin()
{if (m_Hwnd != NULL) {DWORD ndThreadId = GetWindowThreadProcessId(m_Hwnd, NULL);if (ndThreadId != 0){g_HookReturn = 0;g_HookReturn = SetWindowsHookEx(WH_CALLWNDPROC, CallBackFunction, NULL, ndThreadId);if (g_HookReturn != 0) {LogA("主线程成功");}}}}void CMessage::HookMainThread_End()
{UnhookWindowsHookEx(g_HookReturn);
}UINT64 CMessage::PostFunc(UINT64 CallAddr, UINT64 argRcx, UINT64 argRdx, UINT64 argR8, UINT64 argR9, UINT64 rsp20, UINT64 rsp28, UINT64 rsp30, UINT64 id)
{//投递消息让游戏执行函数HANDLE CallEvent = CreateEvent(NULL, TRUE, FALSE, NULL);stu_Msg stuMsg = { CallAddr ,argRcx ,argRdx ,argR8 ,argR9 ,rsp20 ,rsp28 ,rsp30 ,CallEvent };if (!CallEvent) return NULL;::SendMessageA(m_Hwnd, g_MyID, id, (LPARAM)&stuMsg);WaitForSingleObject(CallEvent, 3 * 1000);CloseHandle(CallEvent);return g_Ret;
}
void MyDialog::OnBnClickedButton6()
{CString str, str1;GetDlgItem(IDC_EDIT2)->GetWindowTextA(str1);// 包内容GetDlgItem(IDC_EDIT1)->GetWindowTextA(str);// 包长string str_size = str.GetString();QWORD m_size = stoll(str_size.c_str(), 0, 16);//装换为16进制的整数string str_nr = str1.GetString();byte* Pbyte = new byte[m_size];for (size_t i = 0; i < m_size * 2; i += 2){// 数据包到了输入框中就变成了字符,这里取两个字符,313233,第一次取两个字符就是把31取出来,第二次就是把32取出来string strCode = str_nr.substr(i, 2);// sscanf_s(strCode.c_str(), "%02x", &Pbyte[i / 2]); 第一次把31当成十六进制数,放到Pbyte里// 第二次把32当成十六进制数,放到Pbyte里sscanf_s(strCode.c_str(), "%02x", &Pbyte[i / 2]);}//R_memory((QWORD)Pbyte, m_size);pCall->SendPacket(m_size, Pbyte);
}


img

http://www.dtcms.com/wzjs/162919.html

相关文章:

  • 还有哪些行业可以做垂直网站进一步优化营商环境
  • 广州代做网站百度关键词seo外包
  • 自己做团购网站怎么样google seo 优化招聘
  • 音乐网站模板免费源码上海网站seo诊断
  • wordpress 成功案例外贸seo网站
  • 怎么向google提交网站竞价托管开户
  • wordpress 问卷调查插件2022年搜索引擎优化指南
  • 建设快卡额度查询网站百度一下官网首页登录
  • 宿迁房产网二手房什么公司适合做seo优化
  • 个人网站 限制百度知道
  • 网站快速优化排名软件企业网站seo案例
  • 如何在jsp上做网站页面网站推广的方式和方法
  • 湛江网站制作推荐网络优化工程师是做什么的
  • 甘肃网站怎样备案微信公众号推广
  • 做婚礼策划的网站济南网站万词优化
  • 四川建设网网站成都网站建设公司
  • 网站专题制作 公司搜索引擎排名谷歌
  • 成都彩票网站建设b站推广引流最佳方法
  • 威海网站建设哪家的好提升seo排名平台
  • 有哪些档案网站外链在线发布工具
  • 做鸡网站青岛疫情最新情况
  • 常州网站建设常州申请网址怎么申请的
  • 旅游外贸网站建设推广公司网站如何推广
  • 独立站引流的方式有哪些seo网站收录工具
  • 牛b插网站建设电商运营推广
  • 哪个网站可以做专业兼职微信scrm
  • 怎样成立一个网站平台推广怎么做
  • 对于诈骗网站怎么做百度推广代理加盟
  • 上海经营性网站备案爱站网seo工具
  • 福建做网站的公司重庆人力资源和社会保障网官网