1.一种文件解密方法,其特征在于,应用于客户端的主程序中,所述方法包括:
获取用于钩取打开文件函数的第一钩子函数和用于钩取读文件函数的第二钩子函数;
在对目标文件进行打开操作的过程中,先调用所述第一钩子函数判断所述目标文件是否位于从服务器中获取的待解密文件列表中,其中,所述待解密文件列表中存储有待解密的文件的文件名称,再调用所述打开文件函数对所述目标文件进行打开操作,其中,若所述目标文件位于所述待解密文件列表中,则将所述目标文件的文件句柄保存到待解密文件句柄列表中;
在对所述目标文件进行读操作的过程中,先调用所述第二钩子函数判断所述目标文件的文件句柄是否位于所述待解密文件句柄列表中,若所述目标文件的文件句柄位于所述待解密文件句柄列表中,则,从所述服务器中获取解密秘钥,并利用所述解密秘钥通过TEA算法对所述目标文件进行解密操作,再调用所述读文件函数对所述目标文件进行读操作。
2.如权利要求1所述的方法,其特征在于,所述第一钩子函数的参数类型与所述打开文件函数的参数类型相同,所述第二钩子函数的参数类型与所述读文件函数的参数类型相同。
3.一种文件解密装置,其特征在于,应用于客户端的主程序中,所述装置包括:
获取模块,用于获取用于钩取打开文件函数的第一钩子函数和用于钩取读文件函数的第二钩子函数;
第一调用模块,用于在对目标文件进行打开操作的过程中,先调用所述第一钩子函数判断所述目标文件是否位于从服务器中获取的待解密文件列表中,其中,所述待解密文件列表中存储有待解密的文件的文件名称,再调用所述打开文件函数对所述目标文件进行打开操作,其中,若所述目标文件位于所述待解密文件列表中,则将所述目标文件的文件句柄保存到待解密文件句柄列表中;
第二调用模块,用于在对所述目标文件进行读操作的过程中,先调用所述第二钩子函数判断所述目标文件的文件句柄是否位于所述待解密文件句柄列表中,若所述目标文件的文件句柄位于所述待解密文件句柄列表中,则,从所述服务器中获取解密秘钥,并利用所述解密秘钥通过TEA算法对所述目标文件进行解密操作,再调用所述读文件函数对所述目标文件进行读操作。
4.如权利要求3所述的装置,其特征在于,所述第一钩子函数的参数类型与所述打开文件函数的参数类型相同,所述第二钩子函数的参数类型与所述读文件函数的参数类型相同。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,应用于客户端的主程序中,所述计算机程序被处理器执行时实现以下步骤:获取用于钩取打开文件函数的第一钩子函数和用于钩取读文件函数的第二钩子函数;
在对目标文件进行打开操作的过程中,先调用所述第一钩子函数判断所述目标文件是否位于从服务器中获取的待解密文件列表中,其中,所述待解密文件列表中存储有待解密的文件的文件名称,再调用所述打开文件函数对所述目标文件进行打开操作,其中,若所述目标文件位于所述待解密文件列表中,则将所述目标文件的文件句柄保存到待解密文件句柄列表中;
在对所述目标文件进行读操作的过程中,先调用所述第二钩子函数判断所述目标文件的文件句柄是否位于所述待解密文件句柄列表中,若所述目标文件的文件句柄位于所述待解密文件句柄列表中,则,从所述服务器中获取解密秘钥,并利用所述解密秘钥通过TEA算法对所述目标文件进行解密操作,再调用所述读文件函数对所述目标文件进行读操作。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,应用于客户端的主程序中,所述处理器执行所述计算机程序时实现以下步骤:获取用于钩取打开文件函数的第一钩子函数和用于钩取读文件函数的第二钩子函数;
在对目标文件进行打开操作的过程中,先调用所述第一钩子函数判断所述目标文件是否位于从服务器中获取的待解密文件列表中,其中,所述待解密文件列表中存储有待解密的文件的文件名称,再调用所述打开文件函数对所述目标文件进行打开操作,其中,若所述目标文件位于所述待解密文件列表中,则将所述目标文件的文件句柄保存到待解密文件句柄列表中;
在对所述目标文件进行读操作的过程中,先调用所述第二钩子函数判断所述目标文件的文件句柄是否位于所述待解密文件句柄列表中,若所述目标文件的文件句柄位于所述待解密文件句柄列表中,则,从所述服务器中获取解密秘钥,并利用所述解密秘钥通过TEA算法对所述目标文件进行解密操作,再调用所述读文件函数对所述目标文件进行读操作。