1 先找到物品背包格子
    移开物品搜0, 放置物品搜大于0
    其地址里的数值 即为 格子里物品对象的首地址(物品对象指针)
    image.png

    2 再找出是什么访问了这个地址
    image.png
    00838E5F - 8B 15 E4D3E302 - mov edx,[Client.exe+2A3D3E4] //其实就是基址,待会用OD看它到底是多少
    00838E65 - 8B 84 8A 3C040000 - mov eax,[edx+ecx*4+0000043C] <<

    3 再次用CE打开一次游戏,卸载掉调试器,再用OD附加,找到前面那个地址
    image.png

    4 在内存窗口中转到第一个背包对应的地址,看它里面的值是多少,检查发现与CE数据完全一致,那么这就是我们要找的背包列表
    image.png

    DWORD型物品对象指针:[2E3D3E4]+43C+4*ecx //ecx表示背包列表 下标0-35

    5 再分析物品属性,看第三格装的金刚石这个结构里的属性
    image.pngimage.png
    image.png

    6 找到对齐时的偏移
    image.png
    image.png
    image.png

    [物品对象+64] //物品名
    [物品对象+0F9] //物品功能描述
    [物品对象+238] //具体属性

    7 找到物品数量对应的偏移,显然,在内存区域附近没有199
    image.png

    8 用CE从这个物品对象指针 开始搜,这个最近的C7C与030隔了比较远,猜测物品数量可能不是4字节,应该是2字节,表示的最大上限是65535
    image.png

    9 2字节搜出来还是这个地址,那应该就是它了
    image.png

    10 复制这个地址,以42C45030为参照,查到42C45C7C的偏移为C4C
    image.png

    11 这个数值似曾相识,正是上一节我们找的
    image.png
    [物品对象+C4C] //物品数量

    12 总结
    背包基址:02E3D3E4
    物品对象指针:[2E3D3E4]+43C+4ecx //ecx表示背包列表下标,范围为0-35
    物品对象:[[2E3D3E4]+43C+4
    ecx ]
    [物品对象+64] //物品名
    [物品对象+0F9] //物品功能描述
    [物品对象+238] //具体属性
    [物品对象+C4C] //物品数量
    查看第1格物品的数量对应的地址与值:dd [[2E3D3E4]+43C+4*0]+0C4C

    附 背包列表特征码
    00838E22 /75 32 jnz short Client.00838E56
    00838E24 |A1 F0D3E302 mov eax,dword ptr ds:[0x2E3D3F0]
    00838E29 |8B8488 3C040000 mov eax,dword ptr ds:[eax+ecx4+0x43C]
    00838E30 |8B48 58 mov ecx,dword ptr ds:[eax+0x58]
    00838E33 |8B50 54 mov edx,dword ptr ds:[eax+0x54]
    00838E36 |A1 5C452501 mov eax,dword ptr ds:[0x125455C]
    00838E3B |51 push ecx
    00838E3C |8B88 30020000 mov ecx,dword ptr ds:[eax+0x230]
    00838E42 |52 push edx
    00838E43 |E8 F8D8FDFF call Client.00816740
    00838E48 |85C0 test eax,eax
    00838E4A |0F85 925C0000 jnz Client.0083EAE2
    00838E50 |8B8D 200FFFFF mov ecx,dword ptr ss:[ebp+0xFFFF0F20]
    00838E56 \83FB 01 cmp ebx,0x1
    00838E59 0F85 FA000000 jnz Client.00838F59
    00838E5F 8B15 E4D3E302 mov edx,dword ptr ds:[0x2E3D3E4] ; 背包基址
    00838E65 8B848A 3C040000 mov eax,dword ptr ds:[edx+ecx
    4+0x43C] ; 背包列表
    00838E6C 8BB0 E40C0000 mov esi,dword ptr ds:[eax+0xCE4]
    00838E72 8BB8 E80C0000 mov edi,dword ptr ds:[eax+0xCE8]
    00838E78 8BC6 mov eax,esi
    00838E7A 0BC7 or eax,edi
    00838E7C 0F84 97010000 je Client.00839019
    00838E82 837D 08 00 cmp dword ptr ss:[ebp+0x8],0x0
    00838E86 0F85 36030000 jnz Client.008391C2