1 先打开OD,我们使用一下第8格的人参,发现ESI的值恰好是7,说明这个有可能是背包物品的下标
    image.png
    image.png

    2 使用金创药时下断点
    edi=1F302378
    ecx=00000001
    image.png

    3 使用人参时下断点
    edi=1F302378
    ecx=00000001
    image.png

    4 发现不管是什么物品都是这个,为避免下次再进游戏就不是这个,我们用CE找一下它的基址
    image.png

    5 发现有两个基址,其中02E3D3E4就是我们上一节找的背包基址
    所以,[背包基址] = 背包对象
    image.png

    00854DC4 . /E9 B5000000 jmp Client.00854E7E 00854DC9 > |8B87 601C0000 mov eax,dword ptr ds:[edi+0x1C60]

    00854DCF . |56 push esi ; 背包物品下标

    00854DD0 . |51 push ecx ; 1

    00854DD1 . |50 push eax ; 0

    00854DD2 . |8BCF mov ecx,edi ; ecx=[02E3D3E4] //背包对象

    00854DD4 . |E8 C73FFEFF call Client.00838DA0 ; 背包物品使用CALL

    6 尝试注入代码,看能否使用第一格的金创药,实践证明可以实现
    image.png
    image.png
    push 0
    push 1
    push 0
    mov ecx,02E3D3E4
    mov ecx,[ecx]
    call 00838DA0 //根据下标使用背包物品 函数的首地址