修改PEB,断链隐藏模块成功

修改PEB,断链隐藏模块成功
 

继续实践之前的想法,就是断掉如下这个结构中的双向链表:

typedef struct _LDR_MODULE
{
LIST_ENTRY          InLoadOrderModuleList;
LIST_ENTRY          InMemoryOrderModuleList;
LIST_ENTRY          InInitializationOrderModuleList;
void*               BaseAddress;
void*               EntryPoint;  
ULONG               SizeOfImage;
UNICODE_STRING   FullDllName;
UNICODE_STRING      BaseDllName;
ULONG               Flags;
SHORT               LoadCount;
SHORT               TlsIndex;
HANDLE              SectionHandle;
ULONG               CheckSum;
ULONG               TimeDateStamp;
} LDR_MODULE, *PLDR_MODULE;

断开之后,凡使用Module32First()/Module32Next枚举模块的就找不到被隐藏的模块了.
不过这样隐藏好像效果太差,没什么实用价值,最起码比起修改映像名称的效果要差多了~
下面是用WSysCheck查看的效果图(隐藏了kernel32.dll):

断链之前:

断链之后:

你可能感兴趣的:(职场,休闲,修改PEB,断链隐藏模块成功)