问题原因
在ida中,f5中很重要的一个步骤就是分析sp的偏移值(相对偏移),以此决定栈帧的大小内容等具体情况,所以会设计到分析sp,如果sp出现positive-value 不能使用hexray f5,基本就是分析失败了,比如有一些函数的具体情况比较特殊,比如使用动态跳转代替了静态的跳转,导致分析上有一些错误。 所以我们需要进行手动修正
问题解决
打开options -> generals 中的分析sp,这样在每一条汇编前还会显示当前分析的sp值,根据其语意找出导致分析失败的部分,通过alt+k快捷键进行修正即可