一种应用程序注册表删除方法及装置的制造方法_3

文档序号:9844318阅读:来源:国知局
图中未示出),用于识别所述注册表句柄中包含的指向所述设定对象的存储地址的指针;
[0095]存储地址获取子模块(图中未示出),用于根据保存的偏移量及所述指向所述设定对象的存储地址的指针,确定所述待删除的注册表中设定对象的存储地址。
[0096]进一步地,所述句柄获取子模块,具体用于:
[0097]打开所述注册表\\Registry\\Machine\\Sofware键,获得所述注册表的注册表句柄。
[0098]进一步地,所述判断挂钩模块302,具体用于:
[0099]判断所述设定对象的存储地址是否为预设的字符,如果是,则确定所述设定对象的存储地址被挂钩。
[0100]进一步地,所述地址确定模块303,包括:
[0101]基地址获取子模块(图中未示出),用于根据保存的内核基地址,加载所述内核,生成映射基地址;
[0102]挂钩前地址生成子模块(图中未示出),用于根据所述内核基地址、映射基地址及获取的所述设定对象的存储地址,生成所述设定对象被挂钩前的地址信息。
[0103]进一步地,所述挂钩前地址生成子模块,具体用于:
[0104]按下式生成所述设定对象被挂钩前的地址信息:
[0105]被挂钩前的地址信息=获取的所述设定对象的存储地址-内核基地址+映射基地址。
[0106]本发明实施例提供了一种应用程序注册表删除方法及装置,应用于终端,所述终端根据待删除的注册表中保存的信息,获取所述注册表中设定对象的存储地址;判断所述设定对象的存储地址是否被挂钩;当判断所述设定对象的存储地址被挂钩时,则根据保存的内核基地址,确定所述设定对象被挂钩前的地址信息;将所述注册表中所述设定对象的存储地址恢复为所述被挂钩前的地址信息;根据所述注册表中所述设定对象被挂钩前的地址信息,删除所述注册表。由于本发明实施例根据保存的内核基地址,确定所述设定对象被挂钩前的地址信息;将所述注册表中所述设定对象的存储地址恢复为所述被挂钩前的地址信息,将所述设定对象的存储地址恢复挂钩,进而能够对所述注册表进行删除。
[0107]对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0108]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0109]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0110]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种应用程序注册表删除方法,其特征在于,应用于终端,所述方法包括步骤: 根据待删除的注册表中保存的信息,获取所述注册表中设定对象的存储地址; 判断所述设定对象的存储地址是否被挂钩; 当判断所述设定对象的存储地址被挂钩时,则根据保存的内核基地址,确定所述设定对象被挂钩前的地址信息; 将所述注册表中所述设定对象的存储地址恢复为所述被挂钩前的地址信息; 根据所述注册表中所述设定对象被挂钩前的地址信息,删除所述注册表。2.根据权利要求1所述的方法,其特征在于,所述根据待删除的注册表中保存的信息,获取所述注册表中设定对象的存储地址,包括: 获取所述待删除的注册表的注册表句柄; 识别所述注册表句柄中包含的指向所述设定对象的存储地址的指针; 根据保存的偏移量及所述指向所述设定对象的存储地址的指针,确定所述待删除的注册表中设定对象的存储地址。3.根据权利要求2所述的方法,其特征在于,所述获取所述待删除的注册表的注册表句柄,包括: 打开所述注册表\\Registry\\Machine\\Sofware键,获得所述注册表的注册表句柄。4.根据权利要求1所述的方法,其特征在于,所述判断所述设定对象的存储地址是否被挂钩,包括: 判断所述设定对象的存储地址是否为预设的字符,如果是,则确定所述设定对象的存储地址被挂钩。5.根据权利要求1所述的方法,其特征在于,所述根据保存的内核基地址,确定所述设定对象被挂钩前的地址信息,包括: 根据保存的内核基地址,加载所述内核,生成映射基地址; 根据所述内核基地址、映射基地址及获取的所述设定对象的存储地址,生成所述设定对象被挂钩前的地址信息。6.根据权利要求5所述的方法,其特征在于,所述根据所述内核基地址、映射基地址及获取的所述设定对象的存储地址,生成所述设定对象被挂钩前的地址信息包括: 按下式生成所述设定对象被挂钩前的地址信息: 被挂钩前的地址信息=获取的所述设定对象的存储地址-内核基地址+映射基地址。7.一种应用程序注册表删除装置,其特征在于,应用于终端,所述装置包括: 地址获取模块,用于根据待删除的注册表中保存的信息,获取所述注册表中设定对象的存储地址; 判断挂钩模块,用于判断所述设定对象的存储地址是否被挂钩; 地址确定模块,用于当判断所述设定对象的存储地址被挂钩时,则根据保存的内核基地址,确定所述设定对象被挂钩前的地址信息; 地址恢复模块,用于将所述注册表中所述设定对象的存储地址恢复为所述被挂钩前的地址信息; 删除模块,用于根据所述注册表中所述设定对象被挂钩前的地址信息,删除所述注册表。8.根据权利要求7所述的装置,其特征在于,所述地址获取模块,包括: 句柄获取子模块,用于获取所述待删除的注册表的注册表句柄; 指针识别子模块,用于识别所述注册表句柄中包含的指向所述设定对象的存储地址的指针; 存储地址获取子模块,用于根据保存的偏移量及所述指向所述设定对象的存储地址的指针,确定所述待删除的注册表中设定对象的存储地址。9.根据权利要求8所述的装置,其特征在于,所述句柄获取子模块,具体用于: 打开所述注册表\\Registry\\Machine\\Sofware键,获得所述注册表的注册表句柄。10.根据权利要求7所述的装置,其特征在于,所述判断挂钩模块,具体用于: 判断所述设定对象的存储地址是否为预设的字符,如果是,则确定所述设定对象的存储地址被挂钩。
【专利摘要】本发明实施例公开了一种应用程序注册表删除方法,应用于终端,所述终端获取所述注册表中设定对象的存储地址;判断所述设定对象的存储地址是否被挂钩;当判断所述设定对象的存储地址被挂钩时,则根据保存的内核基地址,确定所述设定对象被挂钩前的地址信息;将所述注册表中所述设定对象的存储地址恢复为所述被挂钩前的地址信息;根据所述注册表中所述设定对象被挂钩前的地址信息,删除所述注册表。由于本发明实施例根据保存的内核基地址,确定所述设定对象被挂钩前的地址信息;将所述注册表中所述设定对象的存储地址恢复为所述被挂钩前的地址信息,将所述设定对象的存储地址恢复挂钩,进而能够对所述注册表进行删除。
【IPC分类】G06F21/56
【公开号】CN105608376
【申请号】CN201510983392
【发明人】李文靖
【申请人】北京金山安全软件有限公司
【公开日】2016年5月25日
【申请日】2015年12月24日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1