一 看不到局部变量的赋值
    image.png
    image.png
    原因: 这个函数用了edx作为返回值, 是一种自定义的调用约定, IDA识别不了
    image.png
    解决方案:
    按Y修改函数的调用约定, 及返回值所用的寄存器(__usercall是IDA专属的)
    image.png
    这样就识别出来了
    image.png
    image.png

    二 sp分析出错, 且 IDA把一个函数拆分为两个函数
    image.png
    解决方案:
    打开Stack Pointer
    image.png
    发现是这下面, 在sp为负数的上一条按AlT+K, 往小改, 直到全为正数
    image.png
    但是F5依然报错
    image.png
    我们再把下面这个函数头部按U, 再按C, 再到尾部setFunctionEnd, 这样就合成为一个函数了
    image.png
    这下就可以F5了, 但又出现JUMPOUT
    image.png
    然后把这两句给NOP掉,即可
    image.png
    识别成功
    image.png