1 要找物品对象,先找出 物品数量的 地址image.png

    2 找出是什么访问了这个地址,加了两次血,计数为2,那么3C347A58可能就是物品对象
    image.png

    3 物品对象不是基址,我们要找到它的基址。于是再对 3C347A58 搜索,得到下列三个结果
    image.png

    4 变一下位置,发现第二个变为0了,所以 1CAD952C 应该就是 背包第一格,是一个物品对象指针(或者说,物品对象的地址),可惜它还不是基址
    image.png

    5 再对这个地址1CAD952C,找出是什么访问了这个地址,然后用一个药,然后闪退了。。

    6 换一个CE,再按上述操作来一遍,找到了一堆长得都差不多的。我们刚刚是使用了一次物品,这里计数为1的,我们一个个试,看能不能找到物品使用CALL,找到的话,在那里下个断点,断下后看寄存器edi的值,即为 背包列表对象的基址。(这里说明一下,接下来为什么不用CE查看内存,CE里“F5”下的断点是硬件访问/写入断点,会断在指令执行之后。)
    image.png

    7 从第一个计数为1的,即这个0085357C开始,用OD开始试,转到这个地址,发现下方就有一个CALL,那这个可能就是物品使用CALL。
    image.png

    8 用这团代码压栈注入后,发现不是,换第二个,即这个008539F5,然后在这里下个断,因为后面附近没有看到CALL
    image.png

    9 用一个药品,按F8一直往下跟,然后找到了CALL,把三个push的寄存器值在堆栈中找到(注意最后push的在最上面),ECX在寄存器中找到
    image.png

    10 注入相应汇编代码,成功了
    image.png

    11 以下代码复制下来,留做特征码


    18000版
    00854D7F 8B84B7 3C040000 mov eax,dword ptr ds:[edi+esi4+0x43C]
    00854D86 85C0 test eax,eax
    00854D88 74 3F je short Client.00854DC9
    00854D8A BA C6E1143C mov edx,0x3C14E1C6
    00854D8F 3950 54 cmp dword ptr ds:[eax+0x54],edx
    00854D92 75 35 jnz short Client.00854DC9
    00854D94 8378 58 00 cmp dword ptr ds:[eax+0x58],0x0
    00854D98 75 2F jnz short Client.00854DC9
    00854D9A 56 push esi
    00854D9B 51 push ecx
    00854D9C 8995 38AFFFFF mov dword ptr ss:[ebp+0xFFFFAF38],edx
    00854DA2 8B15 6C452501 mov edx,dword ptr ds:[0x125456C]
    00854DA8 8D8D 38AFFFFF lea ecx,dword ptr ss:[ebp+0xFFFFAF38]
    00854DAE C785 3CAFFFFF 0>mov dword ptr ss:[ebp+0xFFFFAF3C],0x0
    00854DB8 51 push ecx
    00854DB9 8B8A 94020000 mov ecx,dword ptr ds:[edx+0x294]
    00854DBF E8 ECE9F4FF call Client.007A37B0
    00854DC4 E9 B5000000 jmp Client.00854E7E
    00854DC9 8B87 601C0000 mov eax,dword ptr ds:[edi+0x1C60]
    00854DCF 56 push esi ; 0
    00854DD0 51 push ecx ; 1
    00854DD1 50 push eax ; 0
    00854DD2 8BCF mov ecx,edi ; 1C5A48B0
    00854DD4 E8 C73FFEFF call Client.00838DA0 ; 物品 使用CALL
    00854DD9 83BF 34160000 3>cmp dword ptr ds:[edi+0x1634],0x35
    00854DE0 75 20 jnz short Client.00854E02
    00854DE2 8B84B7 3C040000 mov eax,dword ptr ds:[edi+esi
    4+0x43C]
    00854DE9 85C0 test eax,eax
    00854DEB 74 15 je short Client.00854E02
    00854DED 8B48 54 mov ecx,dword ptr ds:[eax+0x54]
    00854DF0 8B15 6C452501 mov edx,dword ptr ds:[0x125456C]
    00854DF6 51 push ecx
    00854DF7 8B8A 8C020000 mov ecx,dword ptr ds:[edx+0x28C]
    00854DFD E8 1EF3EBFF call Client.00714120


    18038版
    00854E7F 8B84B7 3C040000 mov eax,dword ptr ds:[edi+esi4+0x43C]
    00854E86 85C0 test eax,eax
    00854E88 74 3F je short Client.00854EC9
    00854E8A BA C6E1143C mov edx,0x3C14E1C6
    00854E8F 3950 54 cmp dword ptr ds:[eax+0x54],edx
    00854E92 75 35 jnz short Client.00854EC9
    00854E94 8378 58 00 cmp dword ptr ds:[eax+0x58],0x0
    00854E98 75 2F jnz short Client.00854EC9
    00854E9A 56 push esi
    00854E9B 51 push ecx
    00854E9C 8995 38AFFFFF mov dword ptr ss:[ebp+0xFFFFAF38],edx
    00854EA2 8B15 6C452501 mov edx,dword ptr ds:[0x125456C]
    00854EA8 8D8D 38AFFFFF lea ecx,dword ptr ss:[ebp+0xFFFFAF38]
    00854EAE C785 3CAFFFFF 0>mov dword ptr ss:[ebp+0xFFFFAF3C],0x0
    00854EB8 51 push ecx
    00854EB9 8B8A 94020000 mov ecx,dword ptr ds:[edx+0x294]
    00854EBF E8 ECE9F4FF call Client.007A38B0
    00854EC4 E9 B5000000 jmp Client.00854F7E
    00854EC9 8B87 601C0000 mov eax,dword ptr ds:[edi+0x1C60]
    00854ECF 56 push esi ; 下标
    00854ED0 51 push ecx ; 1
    00854ED1 50 push eax ; 0
    00854ED2 8BCF mov ecx,edi ; 12A346D8
    00854ED4 E8 C73FFEFF call Client.00838EA0 ; 物品使用CALL
    00854ED9 83BF 34160000 3>cmp dword ptr ds:[edi+0x1634],0x35
    00854EE0 75 20 jnz short Client.00854F02
    00854EE2 8B84B7 3C040000 mov eax,dword ptr ds:[edi+esi
    4+0x43C]
    00854EE9 85C0 test eax,eax
    00854EEB 74 15 je short Client.00854F02
    00854EED 8B48 54 mov ecx,dword ptr ds:[eax+0x54]
    00854EF0 8B15 6C452501 mov edx,dword ptr ds:[0x125456C]
    00854EF6 51 push ecx
    00854EF7 8B8A 8C020000 mov ecx,dword ptr ds:[edx+0x28C]
    00854EFD E8 1EF3EBFF call Client.00714220

    11 最后,用德玛西亚试了下,也是可以的
    image.png