天天看点

IDA pro 不能F5之Decompilation failure;positive sp value has been found

IDA pro 不能F5之Decompilation failure;positive sp value has been found

使用F5时报warning:

Decompilation failure

401657F:positive sp value has been found

这个错误是因为堆栈不平衡导致的,需要手动修改堆栈,使其平衡。

从图中可以看到自0x00401661到调用函数,一共压栈了5个参数,在call结束之后,使用了add esp,40h来平栈。这里就有点问题了,一共只压栈了5个参数,用40h来平栈,用的就有点多了吧。1个参数0x4,5个参数0x14,将光标放在0x40167C上,Alt+k,弹出窗口“Change SP Value”

IDA pro 不能F5之Decompilation failure;positive sp value has been found

修改new SP为0x14。堆栈如下。

IDA pro 不能F5之Decompilation failure;positive sp value has been found

在这个函数中发现其在很多函数调用结束后都使用了add esp,40h来平栈,可能是用来反调试的吧。