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

时间:2023-03-09 08:35:02
用户层获取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的地址。 
其结构示意图如图 
 用户层获取TEB PEB结构地址 遍历进程模块.doc
利用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的地址