[发明专利]一种修改账户启用禁用状态的方法和设备有效
申请号: | 202010819591.0 | 申请日: | 2020-08-14 |
公开(公告)号: | CN112003849B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 王唯融 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 宋薇薇;李红萧 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 修改 账户 启用 禁用 状态 方法 设备 | ||
本发明提供了一种修改账户启用禁用状态的方法和设备,该方法包括以下步骤:获取系统中的内存块,修改为所需要的启用禁用状态后,将内存块设置到系统中;获取系统中的目标账户的状态内存块,并判断状态内存块中的启用禁用状态标志位是否与内存块中一致;响应于不一致,将目标注册表键值读取到状态内存块中并根据所需要的启用禁用状态对状态内存块进行修改;将修改后的状态内存块写入注册表以完成设置。通过使用本发明的方案,能够在不改变原有系统管控级别的情况下对Windows账户启用禁用状态进行修改。
技术领域
本领域涉及计算机领域,并且更具体地涉及一种修改账户启用禁用状态的方法和设备。
背景技术
作为安全基线常见要求,对Windows系统的账户进行启用和禁用,是安全软件的常见操作。然而,作为官方公布技术手段,使用NetUserSetInfo进行的Windows账户启用禁用状态的设置,却是通过某种内部进程间通信、最终由操作系统的csrss.exe进程所完成的。这一过程是Windows系统的内部实现、是作为应用程序的外界所无法干涉和改变的,但却引发了另一个问题,常见的Windows安全软件,往往会对csrss.exe进程的行为进行限制,以避免恶意程序借其发起对操作系统的攻击行为。然而,由此导致安全软件本身对NetUserSetInfo API的调用也会受此限制,进而出现无法完成对Windows系统账户进行启用禁用操作的状况。
有鉴于这一状况,为使安全软件功能完备,有必要在官方所公布的NetUserSetInfo函数之外,实现更为可靠、兼容性更加广泛的Windows操作系统账户启用禁用状态修改方法。
发明内容
有鉴于此,本发明实施例的目的在于提出一种修改账户启用禁用状态的方法和设备,通过使用本发明的方法,能够在不改变原有系统管控级别的情况下对Windows账户启用禁用状态进行修改。
基于上述目的,本发明的实施例的一个方面提供了一种修改账户启用禁用状态的方法,包括以下步骤:
获取系统中的内存块,修改为所需要的启用禁用状态后,将内存块设置到系统中;
获取系统中的目标账户的状态内存块,并判断状态内存块中的启用禁用状态标志位是否与内存块中一致;
响应于不一致,将目标注册表键值读取到状态内存块中并根据所需要的启用禁用状态对状态内存块进行修改;
将修改后的状态内存块写入注册表以完成设置。
根据本发明的一个实施例,获取系统中的内存块,修改为所需要的启用禁用状态后,将内存块设置到系统中包括:
调用NetUserGetInfo函数获取USER_INFO_3类型的内存块;
修改内存块中的usri3_flags字段中的UF_ACCOUNTDISABLE所对应位的数据;
使用NetUserSetInfo函数将修改后的内存块设置到系统中。
根据本发明的一个实施例,还包括:
在获取系统中的内存块之前,调用NetUserGetInfo函数获取USER_INFO_3类型的内存块;
获取内存块中的usri3_flags字段,并解析字段中的UF_ACCOUNTDISABLE数据;
判断数据与需要设置的数据是否一致。
根据本发明的一个实施例,响应于不一致,将目标注册表键值读取到状态内存块中并根据所需要的启用禁用状态对状态内存块进行修改包括:
根据账户名转换sid和rid并拼接得到账户的信息存储在SAM注册表中的路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010819591.0/2.html,转载请声明来源钻瓜专利网。