奇妙的FS

FS寄存器里有一个非常的结构:
FS:[20H]是一个DebugCorrtext,一下的代码可以用来反调试:
Mov     ECX, FS:[20H]
JECXZ  NotDebug
 
如果FS:[20H]是0的话,就说明没有被调试
 
FS:[18H] 存储的是TEB地址.
FS:[30H] 存储的是PEB地址.
 
一下的代码可以获得kernel32.dll的地址
 
mov eax, fs:0x30    
mov eax, [eax + 0x0c]
mov esi, [eax + 0x1c]
lodsd                
mov ebp, [eax + 0x08] //ebp 就是kernel32.dll的地址了
 
 
 
在PEB+0x0c地方指向PEB_LDR_DATA结构
在PEB_LDR_DATA+0x1c地方就是一些动态连接库的地址了,
第一个指向ntdll.dll
 第二个就是kernel32.dll的地址
 
 
FS在windows中是指向TEB的指针…
此条目发表在未分类分类目录。将固定链接加入收藏夹。

1 Responses to 奇妙的FS

  1. Unknown说道:

    踩你的空间,以后偶会经常来的。 ~哈哈~~~~~~~~

留下评论