本文探讨fs 是否等于fs:0
fs是段选择子,16位。
fs:x 是段寻址,寻找到的地址为32位,此值为fs指向的段段内偏移x处的地址。
根据已知FS:0指向TEB
以此源码为例,windbg双调。
.386
.model flat,stdcall
option casemap:none
.code
start:
int 3
nop
nop
end start
windbg捕获断点
kd> !teb
TEB at 7ffde000
ExceptionList: 0012ffe0
StackBase: 00130000
StackLimit: 0012e000
SubSystemTib: 00000000
FiberData: 00001e00
ArbitraryUserPointer: 00000000
Self: 7ffde000
EnvironmentPointer: 00000000
ClientId: 00000404 . 00000528
RpcHandle: 00000000
Tls Storage: 00000000
PEB Address: 7ffdf000
LastErrorValue: 0
LastStatusValue: 0
Count Owned Locks: 0