追背包数组
用物品数量当突破口
首先CE扫描目标地址 很简单
找到目标地址
对物品数量地址下写入断,然后吃药
OD中追踪其来源
来源
ecx+14
根据堆栈情况
判断此处不是函数头部
但是上面就是retn
那么只能是其他位置跳转而来
在上面发现了跳转来的代码
获得便宜表达式
[[edi+C]+ebx*4]+14
继续追其来源
来源于堆栈
并且是第一个参数的位置
返回到调用的位置 发现dd并不对
那么只有一种可能,就是本层代码中修改了参数的值
往上翻阅代码
发现
修改参数值的位置
继续追寄存器值
最终得到便宜表达式
[[[[[[[[[[[00D0DF1C]+1c]+68]+4]+8]+1c]+8]+28]+0AD8]+C]+n*4]+14