[发明专利]一种软件修改的检测方法、装置及电子设备有效
申请号: | 201010619711.9 | 申请日: | 2010-12-31 |
公开(公告)号: | CN102023870A | 公开(公告)日: | 2011-04-20 |
发明(设计)人: | 郑星固 | 申请(专利权)人: | 深圳市普联技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518055 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 修改 检测 方法 装置 电子设备 | ||
技术领域
本发明属于计算机软件领域,尤其涉及一种软件修改的检测方法、装置及电子设备。
背景技术
对软件进行修改,一般需要先修改软件源代码,然后使用编译器对修改后的源代码进行重新编译、链接处理后才得到修改的软件。因此,对软件修改进行检测有两种方案:一是针对软件源代码的修改进行检测;二是对重新编译、链接处理后的可执行文件进行检测。
现有技术通过上述方案对软件修改进行检测时,存在如下问题:针对方案一,对软件源代码的修改进行检测,修改后的源代码可能会在编译、链接过程中出现各种问题,从而导致对软件源代码的修改并没有真正反映在修改后所提供的软件中。针对方案二,现有技术通过objdump工具对重新编译、链接处理后的可执行文件进行检测,产生的文本文件较大,不利于对比,处理过程复杂、效率较低。
发明内容
本发明实施例的目的在于提供一种软件修改的检测方法,旨在解决现有技术对软件源代码的修改进行检测,不能真实反映软件所做出的修改以及检测效率较低的问题。
本发明实施例是这样实现的,一种软件修改的检测方法,所述方法包括下述步骤:
从修改后可执行文件的第一符号表信息中获取该第一符号表信息包含的每个符号的名称、大小和位置;
从修改前可执行文件中的第二符号表信息中获取该第二符号表信息包含的每个符号的名称、大小和位置;
将第一符号表信息包含的每个符号的名称、大小和位置和第二符号表信息包含的每个符号的名称、大小和位置进行比较,检测出符号修改信息;
所述符号包括变量和函数,所述可执行文件为可执行链接格式文件。
本发明实施例的另一目的在于提供一种软件修改的检测装置,所述装置包括:
第一符号表信息获取单元,用于从修改后可执行文件的第一符号表信息中获取该第一符号表信息包含的每个符号的名称、大小和位置;
第二符号表信息获取单元,用于从修改前可执行文件中的第二符号表信息中获取该第二符号表信息包含的每个符号的名称、大小和位置;
检测单元,用于将第一符号表信息包含的每个符号的名称、大小和位置和第二符号表信息包含的每个符号的名称、大小和位置进行比较,检测出符号修改信息;
所述符号包括变量和函数,所述可执行文件为可执行链接格式文件。
本发明实施例的另一目的在于提供一种包含上述软件修改检测装置的电子设备。
在本发明实施例中,通过直接对编译、链接后生成的可执行文件进行分析比较,可以真实反映软件所做出的修改,防止因编译、链接过程出现的各种问题而导致软件所修改的源代码没有真正反映在修改后所提供的软件中。而且,不需要对可执行文件进行反汇编,不需要使用文本比较,耗时短,效率高。
附图说明
图1是本发明第一实施例提供的软件修改检测方法的实现流程图;
图2是本发明第一实施例提供的软件修改检测方法中符号增减的检测流程图;
图3是本发明第一实施例提供的软件修改检测方法中符号大小的检测流程图;
图4是本发明第一实施例提供的软件修改检测方法中操作码和操作数的检测流程图;
图5是本发明第二实施例提供的软件修改检测装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例直接对编译、链接后生成的可执行文件进行分析比较,可以真实反映软件所做出的修改,防止因编译、链接过程出现的各种问题而导致软件所修改的源代码没有真正反映在修改后所提供的软件中;而且不需要对可执行文件进行反汇编,不需要使用文本比较,耗时短,效率高。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的软件修改检测方法的实现流程,详述如下:
在步骤S101中,从修改后可执行文件的第一符号表信息中获取该第一符号表信息包含的每个符号的名称、大小和位置。
在本实施例中,通过分析修改后的可执行文件,获取修改后可执行文件中所有的符号表信息。其中,所述可执行文件包括但不局限于可执行链接格式文件(ELF);所述符号为函数和变量,所述符号表信息包括函数和变量的名称、位置(所在地址)以及大小等。
以下为一个获取ELF符号表信息的例子,但不局限于该例:
typedef struct
{
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市普联技术有限公司,未经深圳市普联技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010619711.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于通过扭转超声波焊接与构件连接的附件
- 下一篇:弹性边界波装置