用户层获取TEB PEB结构地址 遍历进程模块.doc

1.fs寄存器指向TEB结构 
2.TEB+0x30地方指向PEB结构 
3.PEB+0x0C地方指向PEB_LDR_DATA结构 
4.PEB_LDR_DATA+0x1C地方就是一些动态连接库地址了,如第一个指向ntdll.dll,第二个就是kernel32.dll的地址。 
其结构示意图如图 
 
利用PEB查找kernerl32地址的汇编实现 
mov eax, fs:0x30 ;PEB的地址 
mov eax, [eax + 0x0c] ;Ldr的地址 
mov esi, [eax + 0x1c] ;Flink地址 
lodsd  
mov eax, [eax + 0x08] ;eax就是kernel32.dll的地址 

posted @ 2016-08-08 11:35  狂客  阅读(625)  评论(0编辑  收藏  举报