首页
社区
课程
招聘
[求助]通过EPROCESS 获得进程的全路径偶尔会蓝屏,求高手指点
发表于: 2011-6-2 17:11 5628

[求助]通过EPROCESS 获得进程的全路径偶尔会蓝屏,求高手指点

2011-6-2 17:11
5628
BOOLEAN GetProcessPathAndID( PEPROCESS p , ProcessInfo* pPI )
{
        ULONG peb;
        ULONG procparam;
        PUNICODE_STRING pPath;
        PULONG tmp = NULL;
        BOOLEAN bRet = FALSE;
        if ( p == NULL || pPI == NULL )
                return bRet;
        tmp = (PULONG)( (ULONG)p + XP3_EPROCESS_PEB_OFFSET );
        if ( tmp == NULL )
                return bRet;
        peb =  *tmp;
        KeAttachProcess(p);

        tmp = (PULONG)( peb + XP3_PEB_PROCESSPARAM_OFFSET );
        if (tmp == NULL )
                goto Out;

       
#if 0
        procparam = *tmp;

        pPath = (PUNICODE_STRING)( procparam + XP3_PROCESSPARAM_IMAGEPATH_OFFSET );

        if ( pPath->Buffer != NULL && pPath->Length != 0 && pPath->Length < MAX_PATH*2 )
                memcpy( pPI->szPath , pPath->Buffer , pPath->Length );

        pPI->lEPAddr = (ULONG)p;
        pPI->lPID = *(PULONG)((ULONG)p + XP3_EPROCESS_PID_OFFSET);
        bRet = TRUE;
#endif

Out:
        KeDetachProcess();
        return bRet;
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
那个 #if 0 #endif 里的代码用了就蓝屏
2011-6-2 17:25
0
雪    币: 544
活跃值: (264)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
3
http://www.debugman.com/discussion/5314/
2011-6-2 17:47
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不行呀,还是蓝屏
2011-6-3 09:34
0
游客
登录 | 注册 方可回帖
返回
//