模块隐藏

模块隐藏

遍历模块

HANDLE WINAPI CreateToolhelp32Snapshot(
    DWORD dwFlags,
    DWORD th32ProcessID
)

//dwFlags:
TH32CS_SNAPMODULE   遍历模块

PEB

(Process Environment Block 进程环境块)
存放进程信息,每个进程都有自己的PEB信息

如何找到PEB

  1. EPROCESS进程内核对象结构体中 0x1b0偏移的位置
  2. TEB线程环境块的 0x30位置

(实际上32位程序中的PEB的位置是固定的)

image
image

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)
image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大部分内容引用于:http://bbs.pediy.com/thread-119827.htm 以下内容基于x86...
    成员阅读 3,315评论 0 49
  • 三个链表都隐藏 这个例子只隐藏3环当前进程中的模块,隐藏其他进程中的模块同理。
    Fa1se003阅读 395评论 0 0
  • 组件 计算机是一种数据处理设备,它由CPU和内存以及外部设备组成。CPU负责数据处理,内存负责存储,外部设备负责数...
    哆啦灬少A梦阅读 1,614评论 1 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • 分享一首翰木12年写的诗 绿色希冀 一小丛 冒出头的嫩绿 露珠分享它首次欣喜 万缕光芒做大地的守护神 片片碧绿成...
    奶香味旅途阅读 132评论 0 4