[发明专利]软件开发工具包识别方法和装置有效
申请号: | 201610052309.4 | 申请日: | 2016-01-26 |
公开(公告)号: | CN105630684B | 公开(公告)日: | 2019-10-11 |
发明(设计)人: | 瞿兆静;王亦乐 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/53 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 开发 工具包 识别 方法 装置 | ||
本申请公开了软件开发工具包识别方法和装置。所述方法的一具体实施方式包括:对目标应用的程序文件进行反编译;构建所述目标应用的工程目录;在所述工程目录的文件中,查找标识信息,其中,所述标识信息与所述目标应用调用的软件开发工具包相关;通过所述标识信息识别所述目标应用调用的软件开发工具包。该实施方式实现了快速识别目标应用调用的软件开发工具包,从而保证了软件开发工具包运行的可靠性。
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及软件开发工具包识别方法和装置。
背景技术
随着计算机技术尤其是互联网技术的发展,软件即服务(SaaS,Software-as-a-Service)成为一种重要的软件应用模式。软件即服务是一种通过互联网提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。
随着软件即服务应用模式的不断发展,服务商提供的服务质量需要日益进化,所以需要对提供的软件开发工具包(SDK,Software Development Kit)的运行状况进行监测,以及时发现技术缺陷,并及时排除;若不能及时发现提供的服务的技术缺陷,则可能降低软件开发工具包运行的可靠性,甚至给客户和服务商造成不可挽回的损失。
发明内容
本申请的目的在于提出一种改进的软件开发工具包识别方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种软件开发工具包识别方法,所述方法包括:对目标应用的程序文件进行反编译;构建所述目标应用的工程目录;在所述工程目录的文件中,查找标识信息,其中,所述标识信息与所述目标应用调用的软件开发工具包相关;通过所述标识信息识别所述目标应用调用的软件开发工具包。
在一些实施例中,所述工程目录的文件包括源码文件,所述标识信息包括调用链;以及,在所述工程目录的文件中,查找标识信息,包括:解析所述源码文件;构建所述源码文件的代码层次;根据所述代码层次建立调用链;识别调用链中调用到的软件开发工具包。
在一些实施例中,所述解析所述源码文件包括:识别类;识别所述类的成员变量和成员函数;识别所述类之间的继承关系;建立包括所述类、所述成员变量、所述成员函数以及所述类之间的继承关系的代码层次。
在一些实施例中,根据所述代码层次建立调用链包括:查找与软件开发工具包的组件的调用相关的信息;根据所述信息,查找调用所述组件的成员函数;查找所述成员函数所属的类,其中,所述类被所述工程入口函数直接调用;建立依次包括所述工程入口函数、所述类、所述函数、所述组件的调用链。
在一些实施例中,所述工程目录中的文件包括动态库文件,所述标识信息包括动态库;以及,在所述工程目录的文件中,查找标识信息,包括:在所述动态库文件搜索所述目标应用所调用的动态库;识别所述动态库所属的软件开发工具包。
在一些实施例中,所述工程目录中的文件包括程序全局配置文件,所述标识信息包括应用程序编程接口密钥;以及,在所述工程目录的文件中,查找标识信息,包括:在所述程序全局配置文件查找应用程序编程接口密钥;识别所述应用程序编程接口密钥所匹配的软件开发工具包。
第二方面,本申请提供了一种软件开发工具包识别装置,所述装置包括:反编译模块,配置用于对目标应用的程序文件进行反编译;构建模块,配置用于构建所述目标应用的工程目录;查找模块,配置用于在所述工程目录的文件中,查找标识信息,其中,所述标识信息与所述目标应用调用的软件开发工具包相关;识别模块,配置用于通过所述标识信息识别所述目标应用调用的软件开发工具包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610052309.4/2.html,转载请声明来源钻瓜专利网。