FS寄存器指向當前活動線程的TEB結構(線程結構)
偏移 說明
000 指向SEH鏈指針
004 線程堆棧頂部
008 線程堆棧底部
00C SubSystemTib
010 FiberData
014 ArbitraryUserPointer
018 FS段寄存器在內存中的鏡像地址
020 進程PID
024 線程ID
02C 指向線程局部存儲指針
030 PEB結構地址(進程結構)
034 上個錯誤號
得到KERNEL32.DLL基址的方法
assume fs:nothing ;打開FS寄存器
mov eax,fs:[30h] ;得到PEB結構地址
mov eax,[eax + 0ch] ;得到PEB_LDR_DATA結構地址
mov esi,[eax + 1ch] ;InInitializationOrderModuleList
lodsd ;得到KERNEL32.DLL所在LDR_MODULE結構的InInitializationOrderModuleList地址
mov edx,[eax + 8h] ;得到BaseAddress,既Kernel32.dll基址
轉自:http://blog.csdn.net/xbin8/archive/2008/03/08/2158762.aspx