模块隐藏
遍历模块
HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, DWORD th32ProcessID ) //dwFlags: TH32CS_SNAPMODULE 遍历模块
PEB
(Process Environment Block 进程环境块)
存放进程信息,每个进程都有自己的PEB信息
如何找到PEB
- EPROCESS进程内核对象结构体中
0x1b0
偏移的位置 - TEB线程环境块的
0x30
位置
(实际上32位程序中的PEB的位置是固定的)
TEB
(Thread EnvironmentBlock 线程环境块)
系统在此TEB种保存频繁使用的线程相关的数据
如何找到TEB:
段寄存器fs中记录了TEB的存储位置
TEB偏移0X30的位置记录了TEB的地址
可以通过以下汇编来获取
MOV EAX,FS:[0x30] //获得PEB PEB_LDR_DATA* pPebLdrData=NULL; _asm { mov eax,fs:[0x30] mov ecx,[eax+0x0c] mov pPebLdrData,ecx } //获得LDR_DATA pPebLdrData = (PEB_LDR_DATA*)*(_NT_PEB + 0x0c)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论