函数分析出错

含有不正常的跳转(可能永远不会执行)

花指令

ret 的使用

正常函数以 ret 结束,并在此之前把 sp 平衡,再通过栈顶跳转 IP。因此有两种错误原因:

  1. 可能通过 push 指令加上 ret 实现 jump,错误分析成函数结束返回了
  2. 可能要 ret 的地方用 jump 结束,没有分析对函数的返回

如何修复?

快捷键 alt+k,在 call 的位置修改 sp 差值改为 0

可能在虚函数调用的时候会有区别,遇到再改改