[发明专利]一种监控应用程序行为的方法及装置有效
申请号: | 200910003181.2 | 申请日: | 2009-01-09 |
公开(公告)号: | CN101458754A | 公开(公告)日: | 2009-06-17 |
发明(设计)人: | 张悠慧;王小玲;洪亮 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F21/22 | 分类号: | G06F21/22;G06F9/44;G06F9/46 |
代理公司: | 北京三高永信知识产权代理有限责任公司 | 代理人: | 何文彬 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 监控 应用程序 行为 方法 装置 | ||
1.一种监控应用程序行为的方法,其特征在于,所述方法包括:
向应用程序加入新段,向创建线程函数和访问文件/注册表函数加入相同的代码段,所述新段用于调用所述创建线程函数中的代码段和所述访问文件/注册表函数中的代码段,所述代码段用于截取所述创建线程函数和所述访问文件/注册表函数的配置参数,监控所述创建线程函数和所述访问文件/注册表函数的操作过程,并以日志信息的形式记录监控的结果;
应用程序启动后,所述应用程序包括的新段调用创建线程函数包括的代码段,所述创建线程函数包括的代码段获取处理应用程序的线程号;
所述新段调用访问文件/注册表函数包括的代码段,所述访问文件/注册表函数包括的代码段监控所述访问文件/注册表函数的操作功能,并记录所述操作功能对应的日志信息;
在所述应用程序退出时,按所述获取的线程号输出所述监控的结果;
其中,所述访问文件/注册表函数包括的代码段监控所述访问文件/注册表函数的操作功能,并记录所述操作功能对应的日志信息,具体包括:
判断所述调用的访问文件/注册表函数的操作功能;
若是根据所述应用程序使用的句柄进行创建新句柄的操作,则进一步判断是否成功的创建所述新句柄,若成功创建新句柄,则记录监控的结果包括获取的线程号、创建线程函数名称、访问文件/注册表函数名称、新资源名、返回值,否则,记录监控的结果包括所述获取的线程号、创建线程函数名称、访问文件/注册表函数的名称、新资源名、错误代码;
若是对所述句柄进行读取或修改,则记录监控的结果包括所述线程号、创建线程函数名称、访问文件/注册表函数名称、资源名、操作内容、错误/正确信息;
若是关闭所述句柄,则记录监控的结果包括所述线程号、创建线程函数名称、访问文件/注册表函数名称、资源名、操作内容、错误/正确信息。
2.根据权利要求1所述一种监控应用程序行为的方法,其特征在于,所述向应用程序加入新段,具体包括:
在调试符号与输出函数表之间创建了一个新段,所述新段包含有新的可移植的执行体PE头与一个新的函数输入表,所述新的PE头是通过将原PE头复制得到的PE头,同时修改了所述原PE头使之指向所述新的函数输入表。
3.根据权利要求2所述一种监控应用程序行为的方法,其特征在于,所述新的输入表调用所述创建线程函数包括的代码段和所述访问文件/注册表函数包括的代码段。
4.根据权利要求1所述一种监控应用程序行为的方法,其特征在于,所述创建线程函数包括的代码段获取处理应用程序的线程号,具体包括:
所述创建线程函数包括的代码段链接到对应的创建线程函数,所述创建线程函数获取处理所述应用程序的线程号。
5.根据权利要求4所述一种监控应用程序行为的方法,其特征在于,所述创建线程函数为所述应用程序打开的文件或注册表项创建句柄,其中,文件名称或注册表项名称统称为资源名;
记录所述资源名与句柄之间的映射关系。
6.根据权利要求5所述一种监控应用程序的方法,其特征在于,所述资源名与句柄之间的映射关系记录在全局的数据结构中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910003181.2/1.html,转载请声明来源钻瓜专利网。