[发明专利]一种用于枚举系统进程的方法及装置有效
申请号: | 201210362570.6 | 申请日: | 2012-09-25 |
公开(公告)号: | CN102945343A | 公开(公告)日: | 2013-02-27 |
发明(设计)人: | 张辉 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F21/55 | 分类号: | G06F21/55 |
代理公司: | 北京市德权律师事务所 11302 | 代理人: | 刘杰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 枚举 系统 进程 方法 装置 | ||
1.一种用于枚举系统进程的方法,其特征在于,包括:
获取System进程的EPROCESS结构;
以Mmsystem range start地址为起始点并以所述EPROCESS的长度作为步长遍历Mmsystem range start地址至所述System进程的EPROCESS结构之间的内存空间,获取每一步长对应的内存地址段中的内容;
所述每一步长对应的内存地址段中,对于起始地址为有效地址的内存地址段,判断该内存地址段中的内容是否为合法的进程;若是,则记录该进程;若否,则忽略该内存地址段;
集合所获得的所有合法进程,形成系统进程集合。
2.根据权利要求1所述的用于枚举系统进程的方法,其特征在于,所述获取System进程EPROCESS结构包括:
在驱动加载的入口函数中调用函数PsGetCurrentProcess()获得System进程的EPROCESS结构。
3.根据权利要求1所述的用于枚举系统进程的方法,其特征在于,所述判断该内存地址段中的内容是否为进程包括:
将内存地址段中的内容赋值给EPROCESS结构;
判断被赋值的EPROCESS结构的成员变量ExitTime的值是否为零;
判断被赋值的EPROCESS结构的成员变量_bject_type的类型值是否为process;
若上述两个成员变量均为是,则内存地址段中的内容为合法的进程,否则为不合法进程。
4.根据权利要求3所述的用于枚举系统进程的方法,其特征在于,所述判断被赋值的EPROCESS结构的成员变量ExitTime的值是否为零包括:
由被赋值的EPROCESS结构首地址偏移0x78,获得成员变量ExitTime;
提取所述成员变量ExitTime的值;
判断所述成员变量ExitTime的值是否等于零。
5.根据权利要求3所述的用于枚举系统进程的方法,其特征在于,所述判断被赋值的EPROCESS结构的成员变量_bject_type的类型值是否为Process包括:
由被赋值的EPROCESS结构首地址偏移0x8,获得成员变量_bject_type;
由所述成员变量_bject_type的首地址偏移0x40,获得成员type;
提取所述成员type的值;
判断所述成员type的值是否等于process。
6.根据权利要求3至5任一所述的用于枚举系统进程的方法,其特征在于,所述判断该内存地址段中的内容是否为合法的进程包括:
获取当前进程的EPROCESS;
获取该当前进程的EPROCESS的进程环境块地址;
若所述进程环境块地址为零,则返回到所述获取当前进程的EPROCESS的步骤,或者通过遍历私有句柄表链或活动进程表链获得其它任一进程,获取该任一进程的EPROCESS的进程环境块地址并判断该地址是否为零;
若非零,则提取所述进程环境块地址高四位的值作为参考值;
获取所述内存地址段中由起始地址偏移1B0处的内容的高四位,作为待检值;
判断所述待检值是否与参考值相同;
若相同,则内存地址中的内容为合法的进程,否则为不合法进程。
7.根据权利要求6所述的用于枚举系统进程的方法,其特征在于,所述获取当前进程包括:
通过PsGetCurrentProcess()获得当前的进程的EPROCESS。
8.根据权利要求6所述的用于枚举系统进程的方法,其特征在于,所述获取该当前进程的EPROCESS的进程环境块地址包括:
由该当前进程的EPROCESS首地址偏移1B0获取其进程环境块成员变量;
提取所述进程环境块成员变量的值。
9.根据权利要求1至8任一所述的用于枚举系统进程的方法,其特征在于,所述每一步长对应的内存地址中,对于起始地址为有效地址的内存地址段,判断该内存地址段中的内容是否为合法的进程包括:
通过MmIsAddressInPageValid()函数验证该地址的有效性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210362570.6/1.html,转载请声明来源钻瓜专利网。