[发明专利]二进制数据中有意义字符串提取方法和系统有效
申请号: | 201210243966.9 | 申请日: | 2012-07-16 |
公开(公告)号: | CN103544141A | 公开(公告)日: | 2014-01-29 |
发明(设计)人: | 康学斌;田彻 | 申请(专利权)人: | 哈尔滨安天科技股份有限公司 |
主分类号: | G06F17/27 | 分类号: | G06F17/27 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150090 黑龙江省哈尔滨*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二进制 数据 有意义 字符串 提取 方法 系统 | ||
技术领域
本发明涉及计算机软件、网络通信等数据检查提取分析,特别是信息安全领域的数据分析。
背景技术
目前的二进制中提取字符串主要是针对可执行文件为提取对象,提取出来的是可以显示字符,对于其它二进制格式比如专门的数据库文件、磁盘镜像、网络数据没有通用性,并且提取到的字符串包含很多人类难以理解的垃圾数据。
当前对二进制数据提取字符串主要是通过IDA、Ollydbg等反汇编工具对可执行文件进行反汇编,在反汇编时如果发现指令的操作数中包含地址则试着去判断这些地址中的数据是否可以显示。找到所有的地址,并检查地址是否是一个可显示的字符串罗列出来。这种方法中的二进制数据必须是可以反汇编的,对于其它二进制格式这个方法就无法提取,并且能够提取的也包含很多人类不可理解的垃圾字符串;而且字符串如果只是作为可执行文件的数据就不会被反汇编地址引用,这种方法也无法发现这些字符串。
发明内容
针对现有字符提取方法的不足,本发明提出了一种任意二进制数据人类可理解字符串提取算法。该算法可以提取任意格式的二进制数据,包括磁盘文件、磁盘镜像、网络数据等。同时可以提取人类可读的字符串,在速度上也比传统的反汇编方式提取字符串要快速很多。
首先介绍本发明一种二进制数据中的字符串提取方法,包括以下步骤:
步骤1,打开二进制数据缓冲区,将二进制数据的开始位置定位为当前位置;
步骤2,判断如果当前位置是二进制数据的结束位置则进行步骤5,否则从当前位置读取一个字节的二进制数据,然后进行步骤3;
步骤3,判断所述字节的二进制数据是否存在于预先构造好的可显示字符表中;所述可显示字符表是指包括介于0x20和0x7e之间的ASCII值的字符表;
如果所述字节的二进制数据不存在于预先构造好的可显示字符表中,则将所述二进制数据当前位置跳跃预设字节数,继续步骤2;
所述方法中,所述预设字节数可以选为4个字节或者5个字节。
如果当然位置距二进制数据的结束位置的长度小于预设字节数,则当前位置跳跃到二进制数据的结束位置,继续步骤2;
如果所述字节的二进制数据存在于预先构造好的可显示字符表中,则进行步骤4;
步骤4,判断如果当前位置之后的二进制数据中包含连续可显示字符的长度不小于预设字节数,则从当前位置开始提取字符串,如果遇到0或者连续可显示字符的长度超过512字节,则提取所述字符串结束,保存所获得的可显示字符组成的字符串,当前位置跳跃到所获取字符串所在二进制数据中的结尾位置,继续步骤2;
判断如果当前位置之后的二进制数据中包含连续可显示字符的长度小于预设字节数,则不保存所述连续可显示字符,当前位置直接跳跃到所述连续可显示字符的结尾位置,继续步骤2;
所述可显示字符是指可显示字符表中的字符;
步骤5,分别将所提取的每个字符串拆分为可显示字符组合,所述可显示字符组合包括单字节、连续双字节、单词;A表示所述字符串拆分得到的可显示字符组合的集合,每个可显示字符组合用si表示,S表示所有可显示字符组合的集合,si∈S;
无意义字符串集合M是预先准备的长度不小于预设字节数的可显示字符串中经过人工挑选的人类无法识别的字符串的集合;有意义字符串集合T,是预先准备的长度不小于预设字节数的可显示字符串中经过人工挑选的人类可以理解的字符串的集合;
PM(si)表示字符组合si在无意义字符串集合M中出现的概率;PT(si)表示字符组合si在有意义字符串集合T中出现的概率;
计算 ,表示所述字符组合si的贡献度;
计算,其中V为所述字符串的贡献度和,表示所述字符组合 si的贡献度,;
根据所述公式计算所提取的每个字符串的贡献度和,初步判断贡献度和大于0的字符串为无意义字符串,贡献度和小于0的字符串为有意义字符串。
步骤6,计算每个所述有意义字符串的熵值,去除熵值小于预设值的有意义字符串,则其他有意义字符串为最终所提取的字符串结果。
所述方法步骤6中的熵值的预设值为2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨安天科技股份有限公司,未经哈尔滨安天科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210243966.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置