普通API查找模块实现思路:其通过查询在R3中的PEB与TEB来找到一个双向链表,通过遍历双向链表中某一成员(字符串)来查找全部模块。    1.3) _PEB:进程环境块 ,记住其在 TEB 偏移 0x30处即可。      2.2) 在内存窗口使用命令 "db 5E7000" 跳转到该内存,使用地址格式显示。  2.2) 在其0x00c处发现InLoadOrderModuleList成员,其指向的是一个_LDR_DATA_TABLE_ENTRY 结构体。      2.3) 跳转到 _LDR_DATA_TABLE_ENTRY 结构体,从0x0c开始依次是三个 _LIST_ENTRY 结构体,该结构体双向链表存储着两个地址。      2.4)选中第一个进入,在其偏移0x02c处,可以查看字符串名称。      2.5)通过开头 _LIST_ENTRY结构体可以遍历前一个模块的内容和下一个模块的内容。      如果你看懂上面分析,则源代码非常好理解。

利用C++ R3层断链实现模块隐藏功能

利用C++ R3层断链实现模块隐藏功能

利用C++ R3层断链实现模块隐藏功能

利用C++ R3层断链实现模块隐藏功能

利用C++ R3层断链实现模块隐藏功能

利用C++ R3层断链实现模块隐藏功能