【发布时间】:2013-01-15 11:22:42
【问题描述】:
我抓了一些code from internet,它应该用 SEH 处理异常,
ASSUME FS:NOTHING
PUSH OFFSET Handler
PUSH FS:[0]
MOV FS:[0], ESP
...
但是FS:[0] 应该持有处理程序的地址,对吧?
所以mov fs:[0], esp是错误的,因为esp当前指向原来的fs:[0]:
栈是这样的:
-----------
| fs:[0] | <-- ESP
-----------
| handler |
-----------
那么,这不应该是esp + 4 之类的东西吗?我显然错了,但我不明白为什么。
【问题讨论】:
标签: exception assembly x86 masm seh