首页
社区
课程
招聘
[未解决,已结帖] [悬赏][求助]TEB_PEB_断链隐藏自身DLL;只断一链,却是BUG频出,以头晕脑胀 10.00雪花
发表于: 2017-5-20 16:47 2105

[未解决,已结帖] [悬赏][求助]TEB_PEB_断链隐藏自身DLL;只断一链,却是BUG频出,以头晕脑胀 10.00雪花

2017-5-20 16:47
2105

贴上一段代码与工程附件,大牛帮我把附件改好,我调试后完成就结帖.因老师不给用结构体,大牛就不要用了哈.

我逻辑已尽混乱了,也改越乱

void YinCang(HWND hwndDlg)
{
	void* XiaYiGe=NULL;
	void* KaiShi=NULL;
	void* ShangYiGe=NULL;
	void* DLLname=NULL; 
	char szDuoZiJie[20]={0};
	char szXuHao[1]={0};
	int a=0;
	__asm
	{
		mov eax,fs:[0x30];
		mov eax,[eax+0xc];
		mov edx,[eax+0xc];
		mov KaiShi,edx;
	}
//**************************************
	HWND hListViewCtl=GetDlgItem(hwndDlg,IDC_LIST1);
	LVITEM lvi={0};
	lvi.mask=LVIF_TEXT;
	XiaYiGe=KaiShi;
	XiaYiGe=*((void**)XiaYiGe);//跳过EXE
	while(KaiShi!=XiaYiGe)
	{
		ShangYiGe=XiaYiGe;
		DLLname=*((void **)((unsigned char*)XiaYiGe+0x30));
		if (DLLname==0)
		{
			XiaYiGe=*((void**)XiaYiGe);
			*(void**)ShangYiGe=*((void**)XiaYiGe);
			return ;
		}
		wcstombs(szDuoZiJie,(const unsigned short *)DLLname,sizeof(szDuoZiJie));//宽字符转多字符
		if (!strcmp(acBuffer,szDuoZiJie))
		{
			XiaYiGe=*((void**)XiaYiGe);
			*(void**)ShangYiGe=*((void**)XiaYiGe);
			DLLname=*((void **)((unsigned char*)XiaYiGe+0x30));
			wcstombs(szDuoZiJie,(const unsigned short *)DLLname,sizeof(szDuoZiJie));//宽字符转多字符
			continue;
		}
		lvi.iItem=a++;
		itoa(a,szXuHao,10);
		lvi.pszText=szXuHao;
 		lvi.iSubItem=0;
 		ListView_InsertItem(hListViewCtl,&lvi);//添加序号
//***************************************************************
		printf("DLL: %s\n",szDuoZiJie);
		lvi.pszText=szDuoZiJie;
		lvi.iSubItem=1;
		ListView_SetItem(hListViewCtl,&lvi);//添加DLL名称
		XiaYiGe=*((void**)XiaYiGe);
	}
}



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//