[发明专利]监控底层接口是否变化的方法及装置有效
申请号: | 201310024949.0 | 申请日: | 2013-01-23 |
公开(公告)号: | CN103942131B | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 马骁;陈祎;潘在亮 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 底层接口 动态链接库 监控 有效地 检测 | ||
1.一种监控底层接口是否变化的方法,其特征在于,该监控底层接口是否变化的方法包括步骤:
获取底层接口的第一版本与第二版本的所有动态链接库,获取所有动态链接库的所有接口以及所有接口的函数;
判断该第一版本与该第二版本所有对应接口的函数是否相同;以及
若该第一版本与该第二版本所有对应接口的函数相同,则判断为该第一版本与该第二版本的底层接口相同,若该第一版本与该第二版本所有对应接口的函数不相同,则判断为该第一版本与该第二版本的底层接口不相同。
2.如权利要求1所述的监控底层接口是否变化的方法,其特征在于,在执行判断该第一版本与该第二版本所有对应接口的函数是否相同的步骤中,还包括步骤:
判断该第一版本的所有接口与该第二版本的所有接口中是否有相同名称的接口;
若有相同名称的接口,则通过判断该第一版本与该第二版本所有相同名称的接口的函数是否相同以获得该第一版本与该第二版本所有对应接口的函数是否相同。
3.如权利要求1所述的监控底层接口是否变化的方法,其特征在于,在执行判断该第一版本与该第二版本所有对应接口的函数是否相同的步骤中,还包括步骤:
判断该第一版本与该第二版本的所有对应接口的相同名称的函数是否是重载函数;
若是重载函数,则确定该第二版本中哪个重载函数与该第一版本的相同名称的重载函数进行比较。
4.如权利要求3所述的监控底层接口是否变化的方法,其特征在于,还包括步骤:
比较该第二版本中所确定的重载函数与该第一版本的相同名称的重载函数的返回值和参数是否相同;
若相同,则判断该第二版本中所确定的重载函数与该第一版本的相同名称的重载函数为相同的函数。
5.如权利要求3所述的监控底层接口是否变化的方法,其特征在于,还包括步骤:
若该第一版本与该第二版本的该相同名称的函数是重载函数,则依次将该第一版本需比较的重载函数的参数个数与该第二版本的所有重载函数的参数个数进行比较,若该第一版本需比较的重载函数的参数个数与该第二版本的一些重载函数的参数个数相同,则计算该第二版本与该第一版本的参数个数相同的重载函数的返回值和参数类型的第一差别值,并找出该第一差别值最小的该第二版本中的那个重载函数;
若该第一版本需比较的重载函数的参数个数与该第二版本的一些重载函数的参数个数不相同,则计算该第二版本与该第一版本的参数个数不相同的重载函数的参数个数的第二差别值,并找出该第二差别值最小的该第二版本中的那个重载函数;以及
根据该第一差别值最小的第二版本中的重载函数与该第二差别值最小的第二版本的重载函数,以确定该第二版本中差别值最小的那个重载函数与该第一版本的需比较的重载函数进行比较。
6.如权利要求1所述的监控底层接口是否变化的方法,其特征在于,在执行获取所有动态链接库的所有接口以及所有接口的函数的步骤中,还包括步骤:
获取各个动态链接库对应的PDB;
获取各个PDB中的所有类型为UDT的调试符号信息;
判断每个类型为UDT的调试符号信息是否为Com接口的调试符号信息;
若是Com接口的调试符号信息,则获取Com接口的成员函数的符号信息,以获取Com接口的成员函数的返回值、函数名和参数。
7.如权利要求1所述的监控底层接口是否变化的方法,其特征在于,在执行获取所有动态链接库的所有接口以及所有接口的函数的步骤中,还包括步骤:
获取导出符号表;以及
从该导出符号表中获取各动态链接库接口的导出函数、该各导出函数的返回值、函数名和参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310024949.0/1.html,转载请声明来源钻瓜专利网。