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

80.网游逆向分析与插件开发-背包的获取-自动化助手显示物品数据1

内容参考于:易道云信息技术研究院VIP课

上一个内容:升级Notice类获得背包基址-CSDN博客

码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git

码云版本号:3be017de38c50653b1d98bae6eb6db0fcff7bd54

代码下载地址,在 SRO_EX 目录下,文件名为:SRO_Ex-自动化助手显示物品数据.zip

链接:https://pan.baidu.com/s/1W-JpUcGOWbSJmMdmtMzYZg

提取码:q9n5

--来自百度网盘超级会员V4的分享

HOOK引擎,文件名为:黑兔sdk.zip

链接:https://pan.baidu.com/s/1IB-Zs6hi3yU8LC2f-8hIEw

提取码:78h8

--来自百度网盘超级会员V4的分享

以 升级Notice类获得背包基址 它的代码为基础进行修改

效果图:

首先设置窗口

新加ListBox控件

设置属性

添加变量

CUI.cpp文件的修改:修改了 OnInitDialog函数

// CUI.cpp: 实现文件
//#include "pch.h"
#include "htdMfcDll.h"
#include "CUI.h"
#include "afxdialogex.h"// CUI 对话框IMPLEMENT_DYNAMIC(CUI, CDialogEx)CUI::CUI(CWnd* pParent /*=nullptr*/): CDialogEx(IDD_MAIN, pParent)
{}CUI::~CUI()
{
}void CUI::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Control(pDX, IDC_TAB1, mTab);
}BOOL CUI::OnInitDialog()
{CDialogEx::OnInitDialog();InstallPage(new CUIWnd_0(), IDD_PAGE_0, L"角色", TRUE);InstallPage(new CUIWnd_1(), IDD_PAGE_1, L"物品");SetBackgroundColor(0xFFFFFFFF);//PageINJ.Init(wAppPath);//PageRAN.SetAppPath(wAppPath);return TRUE;
}bool CUI::InstallPage(CDialogEx* wnd, int IDD_WND, CString&& _Name, BOOL IsShow)
{if (CurPage >= MAX_PAGE_MAIN) return false;Pages[CurPage] = wnd;Pages[CurPage]->Create(IDD_WND, this);//Pages[CurPage]->SetParent(this);Pages[CurPage]->ShowWindow(IsShow);CRect rect;mTab.GetClientRect(&rect);rect.top += 46;rect.left = 0;rect.bottom -= 5;rect.right -= 5;Pages[CurPage]->MoveWindow(&rect);mTab.InsertItem(CurPage, _Name);CurPage++;return true;
}BEGIN_MESSAGE_MAP(CUI, CDialogEx)ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, &CUI::OnTcnSelchangeTab1)ON_WM_CLOSE()
END_MESSAGE_MAP()// CUI 消息处理程序void CUI::OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{// TODO: 在此添加控件通知处理程序代码*pResult = 0;int n = mTab.GetCurSel();for (int i = 0; i < CurPage; i++){Pages[i]->ShowWindow(i == n);}
}void CUI::UIShow()
{auto hwndClient = ::FindWindow(L"CLIENT", L"SRO_CLIENT");::SetParent(this->m_hWnd, hwndClient);this->ShowWindow(ShowUI = !ShowUI);// 把焦点还给游戏::SetFocus(hwndClient);
}void CUI::OnClose()
{// TODO: 在此添加消息处理程序代码和/或调用默认值UIShow();// CDialogEx::OnClose();
}

CUIWnd_1.cpp文件的修改:修改了 OnBnClickedButton1函数,OnBnClickedButton1函数是读取物品信息按钮的点击事件

// CUIWnd_1.cpp: 实现文件
//#include "pch.h"
#include "htdMfcDll.h"
#include "CUIWnd_1.h"
#include "afxdialogex.h"
#include "extern_all.h"// CUIWnd_1 对话框IMPLEMENT_DYNAMIC(CUIWnd_1, CDialogEx)CUIWnd_1::CUIWnd_1(CWnd* pParent /*=nullptr*/): CDialogEx(IDD_PAGE_1, pParent)
{}CUIWnd_1::~CUIWnd_1()
{
}void CUIWnd_1::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Control(pDX, IDC_LIST1, lstPack);
}BEGIN_MESSAGE_MAP(CUIWnd_1, CDialogEx)ON_BN_CLICKED(IDC_BUTTON1, &CUIWnd_1::OnBnClickedButton1)
END_MESSAGE_MAP()// CUIWnd_1 消息处理程序void CUIWnd_1::OnBnClickedButton1()
{// int count = _pgamebase->SRO_Control->GetPPack()->GetPackBack()->PackCount();CString tmp;// tmp.Format(L"%d", count);// AfxMessageBox(tmp);PBackPack _PackBack = _pgamebase->SRO_Control->GetPPack()->GetPackBack();lstPack.ResetContent();for (int i = 0; i < _PackBack->PackCount(); i++){PITEM item = _PackBack->GetItem(i);if ((item != NULL) && (item->Type)) {tmp.Format(L"[%s][数量:%d][耐久:%d/%d]\n", item->GetName()->wcstr(), item->Count, item->Durabillty, item->MaxDurabillty);lstPack.AddString(tmp);}}}

相关文章:

80.网游逆向分析与插件开发-背包的获取-自动化助手显示物品数据1

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;升级Notice类获得背包基址-CSDN博客 码云地址&#xff08;ui显示角色数据 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;3be017de38c50653b…...

Python第三方扩展库NumPy

Python第三方扩展库NumPy NumPy(Numerical Python&#xff0c;注意使用时全部小写 numpy) 是 Python 语言的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;此外也针对数组运算提供大量的数学函数库。 在Windows平台上安装numpy&#xff0c;可在cmd命令…...

Dockerfile简介和基础实践

文章目录 1、Dockerfile简介1.1、Dockerfile解决的问题1.2、docker build 构建流程1.3、关键字介绍 2、Dockerfile 实践2.1、基本语法实践 --- golang2.1.1 问题检查 2.2、基本语法实践 --- gcc 总结 1、Dockerfile简介 Dockerfile是一个创建镜像所有命令的文本文件, 包含了一…...

3分钟 docker搭建 帕鲁服务器

1. 安装docker 1.安装依赖环境 yum -y install yum-utils device-mapper-persistent-data lvm22.设置镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.安装docker 3.1 yum makecache fast yum install docker-ce …...

[BUUCTF 2018]Online Tool(特详解)

这段代码块检查请求中是否设置了HTTP_X_FORWARDED_FOR头部。如果设置了&#xff0c;它将REMOTE_ADDR设置为HTTP_X_FORWARDED_FOR的值。这通常用于处理Web服务器位于代理后面的情况。 如果URL中未设置host参数&#xff0c;它使用highlight_file(__FILE__);来显示PHP文件的源代码…...

Qt Design Studio+Pyside项目

Qt Design Studio设计出的项目结构有多个层级的目录&#xff0c;我们直接用类似Qt Creator工具的方式加载main.qml文件时会报错提示module "content" is not installed&#xff0c;将content加入importPath后还是报同样的错误。 Qt Design Studio生成的文件包含了.qm…...

软件门槛之算法

软件门槛之算法 1.背景2.算法定义3.特征4.基本要素5.常用设计模式6.常用实现方法7.复杂度时间复杂度空间复杂度8.分类9.算法常用的一些工具10.算法的检验标准1.背景 一入行业深似海 再回首已是白发生! 工作这么多年了,感觉算法是比较难搞的。 写代码最重要的可能是框架和算法…...

第八篇【传奇开心果系列】beeware的toga开发移动应用示例:实现消消乐安卓手机小游戏

传奇开心果博文系列 系列博文目录beeware的toga开发移动应用示例系列博文目录一、项目目标二、安装依赖三、初步实现四、扩展思路五、实现游戏逻辑示例代码六、实现界面设计示例代码七、实现增加关卡和难度示例代码八、实现存档和排行榜示例代码九、实现添加特殊方块和道具示例…...

【MySQL】MySQL内置函数--日期函数/字符串函数/数学函数/其他相关函数

文章目录 1.日期函数2.字符串函数3.数学函数4.其它函数 1.日期函数 MySQL中内置了一下函数&#xff1a; 函数名称描述current_date()当前日期current_time()当前时间current_timestamp()当前时间戳date(datetime)返回datetime参数的日期部分date_add(date,interval d_value_t…...

应急响应红蓝工程师白帽子取证Linux和windows入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除

应急响应红蓝工程师白帽子取证Linux入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除。 一般服务器被入侵的迹象,包括但不局限于:由内向外发送大量数据包(DDOS肉鸡)、服务器资源被耗尽(挖矿程序)、不正常的端口连接(反向shell等)、服务…...

vue项目使用element-plus

介绍 1.element Plus 是一套基于 Vue.js 的组件库&#xff0c;是对饿了么团队的 Element UI 组件库的升级版本。Element Plus 的目标是提供一套更为现代、更好用的 Vue.js UI 组件。 导入 1.1 执行命令: npm install element-plus --save 1.2 在main.js中做如下配置import E…...

Fastbee物联网项目新手快速入门

一&#xff0c;前提条件 后端环境准备如下&#xff1a; 正式环境推荐硬件资源最低要求4c8G&#xff0c;硬盘40G。JDK 1.8.0_2xx (需要小版本号大于200) 。Maven3.6.3。&#xff08;IDEA启动时使用IDEA默认自带的版本即可&#xff09;。 启动fastbee之前&#xff0c;请先确定…...

Linux 网络流量相关工具

本文聚焦于网络流量的查看、端口占用查看。至于网络设备的管理和配置&#xff0c;因为太过复杂且不同发行版有较大差异&#xff0c;这里就不赘述&#xff0c;后面看情况再写。 需要注意的是&#xff0c;这里列出的每一个工具都有丰富的功能&#xff0c;流量/端口信息查看只是其…...

KMP算法关于next数组详解

j1234567abcabcdnext[j]0111234 要求j7的时候&#xff0c;next数组为多少&#xff0c;j7的时候&#xff0c;就是看i6的时候前缀和后缀的关系&#xff08;因为求7的时候&#xff0c;和7没有关系&#xff0c;和7的前面有关系&#xff09; 当i6的时候&#xff0c;j3&#xff0c;…...

【Docker】数据持久化 挂载

Docker的镜像是只读的&#xff0c;但是容器是可写的&#xff0c;我们可以将数据写入到容器&#xff0c;不过一旦容器删除数据将会丢 失&#xff0c;那么有什么办法能将数据进行持久化存储呢&#xff1f; ——在宿主机上开辟一块地方&#xff0c;存储内容和docker容器的存储内…...

redis-主从复制

1.主从复制 1.1简介 主机数据更新后根据配置和策略&#xff0c; 自动同步到备机的master/slaver机制&#xff0c;Master以写为主&#xff0c;Slave以读为主 1.2作用 1、数据冗余&#xff1a;主从复制实现了数据的热备份&#xff0c;是持久化之外的一种数据冗余方式。 2、故…...

知识产权如何转为实缴资本,实操

网上已传疯了&#xff0c;相关部门要求企业注册资本认缴的必须在5年内完成实缴&#xff0c;这一下子引起企业老板们着急了。以前公司注册时&#xff0c;很多老板因为是认缴资本&#xff0c;完全凭脑袋一拍&#xff0c;写上注册资金5000万&#xff0c;有的甚至写上几个小目标。现…...

docker-compose安装

一、docker-compose是什么 Docker Compose是一个用来定义和运行复杂应用的Docker工具。 一个使用Docker容器的应用&#xff0c;通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。 Compose 通过一个配置文件来管理多个Docker容器&#xff0c;在配置文件…...

「 典型安全漏洞系列 」06.路径遍历(Path Traversal)详解

引言&#xff1a;什么是路径遍历&#xff1f;如何进行路径遍历攻击并规避常见防御&#xff1f;如何防止路径遍历漏洞。 1. 简介 路径遍历&#xff08;Path Traversal&#xff09;是一种安全漏洞&#xff0c;也被称为目录遍历或目录穿越、文件路径遍历。它发生在应用程序未正确…...

【Android Gradle 插件】Gradle 参考文档收集

Android Plugin DSL Reference 参考文档 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档 : 配置 build | Android Studio | Android Developers 添加构建依赖项 参考文档 : https://developer.android.google.cn/studio/build/dependencies …...

微信毕业设计基于微信小程序的易物小店交换系统

前言 Spring Boot 易物小店交换系统是一个基于 Web 的应用程序&#xff0c;利用 Spring Boot 框架构建&#xff0c;主要用于帮助用户实现物品交换的功能。该系统为用户提供了一个便捷、安全、高效的平台&#xff0c;让他们能够轻松地发布自己想要交换的物品信息&#xff0c;寻找…...

Java程序员,如何从零开始学习AI?

文章为Java程序员提供了零学习大模型并实现涨薪的六阶段路线&#xff1a;掌握AI基础概念、用Java调用大模型API、基于Spring AI实现轻量级AI业务场景、在真实项目中落地、学习智能体进阶技能、将AI知识融入简历。强调应聘AI应用开发工程师而非大模型工程师&#xff0c;适合文本…...

CatBoost实战指南:从算法原理到工业级应用优化

1. CatBoost为什么成为工业界的宠儿&#xff1f; 第一次接触CatBoost是在处理一个电商用户行为预测项目时。当时数据集里充斥着用户ID、商品类别、地域信息这类类别型特征&#xff0c;用XGBoost和LightGBM处理总感觉差点意思。直到尝试了CatBoost&#xff0c;预测效果直接提升了…...

汉字破局:AI时代的文明反攻与英语世界的“偷师”真相

汉字破局&#xff1a;AI时代的文明反攻与英语世界的“偷师”真相今天我们要聊的&#xff0c;从来不是简单的“中文VS英文”语言之争&#xff0c;而是一场席卷AI世界的文明维度大反攻——三千年前刻在龟甲上的甲骨文&#xff0c;那些横平竖直、撇捺交错的线条&#xff0c;正在以…...

2023款惠普战66六代笔记本Win11重装教程:从U盘制作到跳过联网

2023款惠普战66六代笔记本Win11重装全流程指南 最近帮朋友折腾一台新入手的惠普战66六代笔记本&#xff0c;发现这款商务本在重装系统时有些细节需要特别注意。尤其是Win11的强制联网激活机制和BitLocker加密的坑&#xff0c;稍不注意就会让整个重装过程卡壳。下面把我实测可用…...

STM32实战:IO-Link物理层编码配置避坑指南(附逻辑分析仪抓包技巧)

STM32实战&#xff1a;IO-Link物理层编码配置避坑指南&#xff08;附逻辑分析仪抓包技巧&#xff09; 在工业自动化领域&#xff0c;IO-Link作为点对点通信协议正快速普及。对于嵌入式开发者而言&#xff0c;使用STM32等通用MCU实现IO-Link主站/从站功能时&#xff0c;物理层编…...

RecyclerView 动态布局实战:ItemView 高宽自适应与多列切换

1. RecyclerView动态布局的核心挑战 在Android开发中&#xff0c;RecyclerView是最常用的列表控件之一。但很多开发者都会遇到这样的问题&#xff1a;如何让ItemView根据数据量动态调整高度和宽度&#xff1f;特别是在需要实现单列和多列布局自动切换的场景下&#xff0c;这个问…...

别再死磕Open SQL了!用ABAP CDS View在SAP S/4HANA里榨干数据库性能

别再死磕Open SQL了&#xff01;用ABAP CDS View在SAP S/4HANA里榨干数据库性能 每次看到那些运行了20分钟还没出结果的报表程序&#xff0c;我就忍不住想问问开发者&#xff1a;2023年了&#xff0c;为什么还在用Open SQL写这种性能灾难&#xff1f;上周我接手了一个供应商账龄…...

MyBatisPlus SQL解析踩坑记:JSqlParser版本升级的那些事儿

MyBatisPlus SQL解析踩坑记&#xff1a;JSqlParser版本升级的那些事儿 当你在深夜被生产环境的报警短信惊醒&#xff0c;发现原本运行良好的SQL查询突然报出Encountered unexpected token错误时&#xff0c;很可能正遭遇JSqlParser版本升级带来的"惊喜"。作为MyBatis…...

BiliTools:革新性开源B站资源下载工具,零基础也能轻松掌握的跨平台解决方案

BiliTools&#xff1a;革新性开源B站资源下载工具&#xff0c;零基础也能轻松掌握的跨平台解决方案 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode…...