能力值:
( LV2,RANK:10 )
|
-
-
2 楼
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基址
引用自:3d5K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3P5r3u0A6L8U0S2Q4x3V1k6S2M7X3y4Z5K9i4k6W2i4K6u0r3x3U0l9H3z5q4)9J5c8U0l9K6i4K6u0r3x3o6S2Q4x3V1j5J5x3e0f1^5y4K6j5J5i4K6u0W2j5i4y4H3P5l9`.`.
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
十分感激  ,结贴
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
楼主,结帖要先给分啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
不知道如何给分,哪位大虾教一下
|
能力值:
( LV13,RANK:290 )
|
-
-
6 楼
其实FS段寄存器体现了系统的分段机制,FS段的基址不是0,而是从某个特别位置开始,这个特别的位置被windows存放一些特别的东西。
FS在用户层和内核层的基址也不同,但都是存放和当前线程密切相关的东西。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
写shellcode就知道了
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
二楼强人,学习了.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
FS, 主要是Windows下面的SEH。这个涉及到TEB结构。
给你几个链接,希望对你有帮助
186K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3I4#2L8$3y4G2L8X3N6Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7Y4c8A6j5$3I4W2M7#2)9J5c8Y4y4Z5L8%4N6Q4y4h3k6S2M7Y4c8A6j5$3I4W2i4K6u0W2j5i4y4H3i4K6y4r3b7i4u0@1K9h3y4D9k6g2)9#2k6V1W2p5i4K6y4p5x3K6l9`.
15bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3k6G2M7Y4g2E0i4K6u0W2k6i4k6A6L8r3!0U0N6r3q4D9i4K6u0W2j5$3!0E0i4K6u0r3N6r3S2J5k6h3q4V1i4K6u0V1y4U0R3^5x3#2)9J5k6o6q4Q4x3X3b7K6x3W2)9J5k6h3S2@1L8h3H3`.
a67K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4g2H3N6$3W2F1k6r3g2J5i4K6u0W2j5$3!0E0i4K6u0r3N6%4N6%4i4K6u0r3y4o6y4Q4x3V1j5K6x3o6M7^5i4K6u0W2K9s2c8E0L8l9`.`.
|
|
|