首页
社区
课程
招聘
[旧帖] [求助]求师傅给我看看这个怎么搞的 0.00雪花
发表于: 2011-12-22 08:40 1341

[旧帖] [求助]求师傅给我看看这个怎么搞的 0.00雪花

2011-12-22 08:40
1341
为什么我用WINDBG 查处 进程 EPROCESS 结构 偏移为  0x174 (ImageFileName 字段)

   +0x174 ImageFileName    : [16] UChar
   +0x184 JobLinks         : _LIST_ENTRY
   +0x18c LockedPagesList  : Ptr32 Void
   +0x190 ThreadListHead   : _LIST_ENTRY

代码是这么写的:
        PEPROCESS eprocess;
        driver->DriverUnload  = DriverUnload;
        eprocess = PsGetCurrentProcess();
        KdPrint(("进程名字%s",(char *)((ULONG)eprocess + 0x174)));
        为什么得不到进程名字?
请大牛给我指点一下.

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
要注意格式,注意大小写。要不然就算你代码写对了,也不可能得到进程的!
2011-12-22 09:57
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
3
悟空,你 dt 的是结构体,要 dt 变量才可以。

dt eprocess ImageFileName
2011-12-22 10:11
0
雪    币: 136
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
ULONG
Ps_GetProcessNameFromEprocess(__out PCHAR pszProcessName,
			      __in PEPROCESS pEProcess
			      )
{
	PEPROCESS curproc = NULL;
	//ULONG nLen;
	CHAR *nameptr = NULL;

	curproc = pEProcess;
	if (g_nProcessNameOffset)
	{
		if (!curproc)
		{
			curproc = IoGetCurrentProcess() ;
		}
		nameptr = (PCHAR)curproc + g_nProcessNameOffset ;
		strncpy(pszProcessName, nameptr, 16) ;
	}
	else
	{
		strncpy(pszProcessName, "????",4) ;
	}

	return strlen(pszProcessName);
}
2011-12-22 10:19
0
雪    币: 94
活跃值: (40)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
谢谢楼上诸位指点
2011-12-22 13:36
0
游客
登录 | 注册 方可回帖
返回
//