网站首页 > 技术教程 正文
CE分析数据突破口
背包是一个二维数组,每一个物品是一个对象,物品里面的具体内容则应该是在物品对象基础之上进一步偏移。
首先,我们通过选中某个物品拖动到背包方格,二维数组在内存中依然是线性的,下标从0开始。
以桃木剑为例,当前索引为2:
通过改变桃木剑所在格子下标进行初步地址查找:
xdbg追溯背包基址
下硬件写入字节断点,然后更改桃木剑下标。
当前物品对象下标地址为:ecx+0x10
Ctrl+F9跳转到函数ret,F8跳出当前函数,返回上一层调用。
ebp:存放调用函数前ebp的值
ebp+4:存放call指令调用函数时压入堆栈的EIP
ebp+8:存放函数传参第一个参数地址
ebp+C:存放函数传参第二个参数地址
……
函数内部为明显的数组结构,搜索地址:[ecx+0x15D28]
返回上一层函数,得到最终的偏移:
[[0x00C4F974]+0x15D28]
[["Game.exe"+0x0045F974]+0x15D28
背包物品数据分析
以馒头为例,通过查找字符串,并用二分法给找到的数据改名,最终确定“馒头”字符串的地址。
然后在xdbg中查找馒头的地址,下硬件访问断点。
然后追溯eax,eax应该来自于其上方的call。
物品名称:+0x2C+0x18
使用等级:+0x2C+0x20
物品等级:+0x2C+0x54
[[ecx+0x2C]+0x18]
注意:
背包物品类型不同,偏移也有所不同,本次查找的偏移仅限于具有使用等级和物品等级的背包物品,其他类型物品偏移需要进一步确定。
C++读取背包数据
我的背包中只有前5种物品符合要求,循环遍历5次,其他类型物品需要大家自行查找:
void CMyDialog::OnBnClickedBtnTraverseBag()
{
DWORD base_addr = g_dw_base_addr + 0x0045F974;
CString str;
for (int i = 0; i < 5; i++) {
DWORD tmp_addr = 0;
cat->ReadMemory(g_process_handle, &tmp_addr, sizeof(tmp_addr), base_addr, 0x15D28, -1);
//DWORD item_obj_addr = *(DWORD*)(tmp_addr + 0x4 * i);
tmp_addr += 0x4 * i;
DWORD item_name_addr = 0, item_use_level_addr = 0, item_self_level_addr = 0;
cat->ReadMemory(g_process_handle, &item_name_addr, sizeof(item_name_addr), tmp_addr, 0x2C, 0x18, -1);
CHAR* ch_item_name_addr = (CHAR*)item_name_addr;
CString str_item_name_addr(ch_item_name_addr);
str += str_item_name_addr + TEXT("\r\n");
}
//cat->MsgBox(str);
m_editv_show_bag_info = str;
UpdateData(FALSE);
}
猜你喜欢
- 2024-11-18 出乎意料的大:Tumi 塔米 22380 双肩背包开箱记
- 2024-11-18 礼品商务背包定制要考虑什么?-爱自由箱包
- 2024-11-18 背包式电梯与龙门架式电梯的区别
- 2024-11-18 “他”靠这份Alibaba内部数据结构与算法刷题秘籍成功杀进字节
- 2024-11-18 拥挤交通的解决方案。#飞行背包
- 2024-11-18 老司机教你,如何用一个背包装下徒步撒野必备品
- 2024-11-18 PGYTECH OneMo FPV评测:FPV无人机爱好者的双肩包
- 2024-11-18 贪心算法简介
- 2024-11-18 商务背包定制这几个点别忽视—爱自由箱包
- 2024-11-18 商务背包定制这几个点别忽视!爱自由箱包
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)