-
-
[求助]奇怪的浮点栈异常错误,不知是什么原因
-
发表于:
2014-5-20 13:54
3800
-
有一个多线程的Windows程序,偶尔崩溃。drwtsn32.log中记录一个语句FAULT,从汇编来看,就是简单的整数加载进浮点栈然后比较,从汇编指令的功能方面看不出有什么问题,请教各位牛人。
代码如下:

其中,byte_4DBA2C的值为0x4B即75,根据drwtsn32.log中记录,其他有类似浮点操作的函数还有很多但没有出问题,就此处多次出现问题导致程序死掉。
刚开始推测为浮点栈满,fild时出错,后来考虑这句语句之前还有一些浮点操作代码,倘若这句出问题时浮点栈满,则上一句浮点操作时栈也是满的。所以这个猜测可能不对。
其他原因确实想不到,看看大牛们有啥好的建议。
另外,浮点语句的就是加载整数,然后比较,里面并没有被零除,无穷大啥的内容。
[培训]科锐逆向工程师培训第53期2025年7月8日开班!