6.5. WINDOWS NT
FS:0 +0: __except_list+4: ...+8: ...TIB...Prev=0xFFFFFFFFHandle...PrevHandle...PrevHandlescope table
⊕security_cookieprevious try levelEBP...EBP⊕security_cookie...handler functionhandler function_except_handler4...StackGS Cookie OffsetGS Cookie XOR OffsetEH Cookie OffsetEH Cookie XOR Offset0xFFFFFFFF (-1)filter functionhandler/finally function0filter functionhandler/finally function1filter functionhandler/finally function... more entries ...information about
first try/except
blockinformation about
second try/except
blockinformation about
third try/except
blockscope tableHere are both examples compiled in MSVC 2012 with SEH4:
Listing 6.31: MSVC 2012: one try block example$SG85485 DB 'hello #1!', 0aH, 00H
$SG85486 DB 'hello #2!', 0aH, 00H
$SG85488 DB 'access violation, can''t recover', 0aH, 00H
; scope table:
xdata$x SEGMENT
__sehtable$_main DD 0fffffffeH ; GS Cookie Offset
DD 00H ; GS Cookie XOR Offset
DD 0ffffffccH ; EH Cookie Offset
DD 00H ; EH Cookie XOR Offset
DD 0fffffffeH ; previous try level
DD FLAT:$LN12@main ; filter
DD FLAT:$LN8@main ; handler
xdata$x ENDS
$T2 = -36 ; size = 4
_p$ = -32 ; size = 4
tv68 = -28 ; size = 4
__$SEHRec$ = -24 ; size = 24