一 看不到局部变量的赋值
原因: 这个函数用了edx作为返回值, 是一种自定义的调用约定, IDA识别不了
解决方案:
按Y修改函数的调用约定, 及返回值所用的寄存器(__usercall是IDA专属的)
这样就识别出来了
二 sp分析出错, 且 IDA把一个函数拆分为两个函数
解决方案:
打开Stack Pointer
发现是这下面, 在sp为负数的上一条按AlT+K, 往小改, 直到全为正数
但是F5依然报错
我们再把下面这个函数头部按U, 再按C, 再到尾部setFunctionEnd, 这样就合成为一个函数了
这下就可以F5了, 但又出现JUMPOUT
然后把这两句给NOP掉,即可
识别成功