1.一种保护线程数据的方法,其特征在于,包括:
在预先注入到内核层中的挂钩函数监测到设置线程上下文内核函数被调用时,挂钩所述设置线程上下文内核函数;
获取调用所述设置线程上下文内核函数的应用程序发起的目标线程数据写入请求,将所述目标线程数据写入请求中的目标应用程序对应的目标线程句柄写入所述挂钩函数中的线程句柄参数中;
依据写入所述挂钩函数中的线程句柄参数,获取所述目标应用程序的线程路径;
如果获取的线程路径与预先设置的目标应用程序线程目录路径库中任一目标应用程序线程目录路径相匹配,向所述目标线程数据写入请求返回拒绝写入信息。
2.根据权利要求1所述的保护线程数据的方法,其特征在于,在所述在预先注入到内核层中的挂钩函数监测到设置线程上下文内核函数被调用时之前,所述方法还包括:
调用操作系统的挂钩函数窗口设置接口,设置用于监测调用所述设置线程上下文内核函数的挂钩函数,并获取操作系统的根权限以注入所述挂钩函数。
3.根据权利要求2所述的保护线程数据的方法,其特征在于,所述注入所述挂钩函数包括:
在系统服务描述符表中查询并获取所述设置线程上下文内核函数的函数地址,存储所述设置线程上下文内核函数的函数地址;
利用所述挂钩函数替换所述设置线程上下文内核函数,设置所述挂钩函数在所述系统服务描述符表中的函数地址不同于所述设置线程上下文内核函数的函数地址;
在所述挂钩函数中设置存储的所述设置线程上下文内核函数的函数地址,以用于调用所述设置线程上下文内核函数。
4.根据权利要求1所述的保护线程数据的方法,其特征在于,所述依据写入所述挂钩函数中的线程句柄参数,获取所述目标应用程序的线程路径包括:
枚举操作系统的所有线程的线程句柄;
获取与所述挂钩函数的线程句柄参数相匹配的线程句柄;
调用线程路径获取内核函数,查询获取所述相匹配的线程句柄的线程路径。
5.根据权利要求1至4任一项所述的保护线程数据的方法,其特征在于,在所述依据写入所述挂钩函数中的线程句柄参数,获取所述目标应用程序的线程路径之前,所述方法还包括:
依据发起所述目标线程数据写入请求的应用程序的线程句柄参数,获取发起所述目标线程数据写入请求的应用程序的线程路径;
提取发起所述目标线程数据写入请求的应用程序的线程路径中的最后子目录下的字符串,如果提取的字符串与预先设置的拦截应用程序字符串库中任一拦截应用程序字符串相匹配,执行所述依据写入所述挂钩函数中的线程句柄参数,获取所述目标应用程序的线程路径的步骤。
6.根据权利要求1至4任一项所述的保护线程数据的方法,其特征在于,在所述向所述目标线程数据写入请求返回拒绝写入信息之前,所述方法还包括:
依据发起所述目标线程数据写入请求的应用程序的线程句柄参数,获取发起所述目标线程数据写入请求的应用程序的线程路径;
提取发起所述目标线程数据写入请求的应用程序的线程路径中的最后子目录下的字符串,如果提取的字符串与预先设置的拦截应用程序字符串库中任一拦截应用程序字符串相匹配,执行所述向所述目标线程数据写入请求返回拒绝写入信息的步骤。
7.一种保护线程数据的装置,其特征在于,包括:挂钩模块、句柄写入模块、线程路径获取模块以及匹配处理模块,其中,
挂钩模块,用于在预先注入到内核层中的挂钩函数监测到设置线程上下文内核函数被调用时,挂钩所述设置线程上下文内核函数;
句柄写入模块,用于获取调用所述设置线程上下文内核函数的应用程序发起的目标线程数据写入请求,将所述目标线程数据写入请求中的目标应用程序对应的目标线程句柄写入所述挂钩函数中的线程句柄参数中;
线程路径获取模块,用于依据写入所述挂钩函数中的线程句柄参数,获取所述目标应用程序的线程路径;
匹配处理模块,如果获取的线程路径与预先设置的目标应用程序线程目录路径库中任一目标应用程序线程目录路径相匹配,向所述目标线程数据写入请求返回拒绝写入信息。
8.根据权利要求7所述的保护线程数据的装置,其特征在于,所述装置还包括:
挂钩函数注入模块,用于调用操作系统的挂钩函数窗口设置接口,设置用于监测调用所述设置线程上下文内核函数的挂钩函数,并获取操作系统的根权限以注入所述挂钩函数。
9.根据权利要求8所述的保护线程数据的装置,其特征在于,所述挂钩函数注入模块包括:调用单元、设置单元、函数地址获取单元、替换单元以及注入单元,其中,
调用单元,用于调用操作系统的挂钩函数窗口设置接口;
设置单元,用于设置用于监测调用所述设置线程上下文内核函数的挂钩函数;
函数地址获取单元,用于获取操作系统的根权限,在系统服务描述符表中查询并获取所述设置线程上下文内核函数的函数地址,存储所述设置线程上下文内核函数的函数地址;
替换单元,用于利用所述挂钩函数替换所述设置线程上下文内核函数,设置所述挂钩函数在所述系统服务描述符表中的函数地址不同于所述设置线程上下文内核函数的函数地址;
注入单元,用于在所述挂钩函数中设置存储的所述设置线程上下文内核函数的函数地址,以用于调用所述设置线程上下文内核函数。
10.根据权利要求7所述的保护线程数据的装置,其特征在于,所述线程路径获取模块包括:枚举单元、线程句柄获取单元以及线程路径获取单元,其中,
枚举单元,用于枚举操作系统的所有线程的线程句柄;
线程句柄获取单元,用于获取与所述挂钩函数的线程句柄参数相匹配的线程句柄;
线程路径获取单元,用于调用线程路径获取内核函数,查询获取所述相匹配的线程句柄的线程路径。