CN102567209B - 闪存芯片数据解析方法和装置 - Google Patents

闪存芯片数据解析方法和装置 Download PDF

Info

Publication number
CN102567209B
CN102567209B CN201010598171.0A CN201010598171A CN102567209B CN 102567209 B CN102567209 B CN 102567209B CN 201010598171 A CN201010598171 A CN 201010598171A CN 102567209 B CN102567209 B CN 102567209B
Authority
CN
China
Prior art keywords
page
unit
integers
address
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010598171.0A
Other languages
English (en)
Other versions
CN102567209A (zh
Inventor
高志鹏
张志伟
张雪峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN201010598171.0A priority Critical patent/CN102567209B/zh
Publication of CN102567209A publication Critical patent/CN102567209A/zh
Application granted granted Critical
Publication of CN102567209B publication Critical patent/CN102567209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种闪存芯片数据解析方法和装置,所述方法包括:创建用于保存数据解析结果的空容器文件;在整个镜像范围内搜索引导扇区页,在预设偏移地址处读取一16位无符号整数作为后续步骤的起始编号;在芯片镜像中以页为单位搜索读取一16位无符号整数,判断其是否与起始编号相同,若是,则计数器递增1,直至计数器递增至报数终点为止,并将搜索到的包含有起始编号的页写入容器文件;重复执行将起始编号递增1以及按上述方法搜索并写入容器文件的过程,直至递增后的起始编号不能在闪存芯片的镜像中搜索到为止。本发明基于引导扇区搜索、冗余数据分析和计数提取闪存芯片数据解析方法,可解决现有技术仅能对单一证据信息进行数据解析的问题。

Description

闪存芯片数据解析方法和装置
技术领域
本发明涉及闪存芯片技术领域,特别是涉及一种闪存芯片数据解析方法和装置。
背景技术
随着存储行业日新月异的发展,基于FLASH(闪存)芯片的新型存储模式取代传统的机械磁存储(硬盘)模式已是大势所趋,技术上的巨大差异使传统数据解析行业面临前所未有的严峻挑战。FLASH芯片中数据组织模式的不同造成传统数据解析工具无法对其数据识别、加载的后果,因此,需要本领域技术人员提供一种新的技术,将FLASH芯片数据的组织模式改变为传统硬盘的数据组织模式,同时又保证不会改变原FLASH芯片的数据解析环境,才能从根本上上述问题。
现有技术的主要采用如下方案解决FLASH芯片的数据解析问题:
字串搜索方式:用编程器读出FLASH芯片数据镜像,在数据镜像内通过直接查找字符串,对字符串进行编解码,从而获得证据信息。该方法思路简单,实现容易,搜索速度较快,可以定位并获取敏感信息。但该方案的局限性也非常明显:无法从文件系统的角度挖掘出数据,特别对照片、复合文档、视频、录音等重要文件缺乏支持;另外,就其本身技术细节而言,其挖掘出的字符串存在截断、乱码的风险。
图片碎片重组方式:该方案直接利用图片碎片的特征信息,找出图片碎片后按照正确顺序重新拼接成图片;该方案可解决存储在FLASH芯片中的图形证据的获取问题,但该方案的缺陷亦非常显著:只能针对图片数据进行挖掘,而且,由于图片压缩编码多样复杂,实际挖掘效果与预期相差甚远。另外,类似的方案还有复合文档碎片重组,数据库页重组等,与图片碎片重组方式的原理一致,优缺点也相同。
以上方案无一例外都是针对某一种证据信息而设计的,都不能进行数据解析环境的改造,在FLASH页排列混乱的状况下,以上方案都不能完美达到其预期的技术效果。
另外,市面上还有相当一部分手机和U盘采用非标准FLASH芯片作为其主存储器,这些非标准的FLASH芯片往往不具备映射表或相似结构,数据组织方式完全不同,因此,上述方案不适用于此类FLASH芯片的数据解析。
发明内容
本发明所要解决的技术问题是提供一种闪存芯片数据解析方法,可解决现有技术只能对闪存芯片的单一证据信息进行数据解析,不能进行数据解析环境的改造的问题。
本发明还提供了一种闪存芯片数据解析装置,以保证上述方法在实际中的应用。
为了解决上述问题,本发明公开了一种闪存芯片数据解析方法,包括:
容器文件创建步骤:创建用于保存数据解析结果的空的容器文件;
引导扇区搜索步骤:在所述闪存芯片的整个镜像范围内搜索引导扇区,并在搜索到引导扇区的地址读取一个页,在该页的预设偏移地址处读取一个16位无符号整数,作为后续重组步骤的起始编号;
重组步骤:在所述闪存芯片的镜像中,以页为单位搜索,在该页的预设偏移地址处读取一个16位无符号整数,判断该16位整数是否与所述起始编号相同,若是,则计数器递增1;直至所述计数器递增至报数终点为止;以及,将搜索到的包含有所述起始编号的页写入所述容器文件;
计数提取步骤:重复执行将所述起始编号递增1,以及,按所述重组步骤的方法搜索并将包含有所述递增后的起始编号的页依次写入所述容器文件的过程,直至所述递增后的起始编号不能在所述闪存芯片的镜像中搜索到为止。
优选的,在所述引导扇区搜索步骤或容器文件创建步骤之前还包括:读取所述闪存芯片的末尾页,以该末尾页的预设偏移地址为起始地址,提取一个64位无符号整数;以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在所述闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;若所述相同值个数为2的n次方,则继续后续流程;其中,n为不小于2的正整数。
优选的,在所述引导扇区搜索步骤或容器文件创建步骤之前还包括:读取所述闪存芯片的末尾页,以该末尾页的预设偏移地址为起始地址,提取一个64位无符号整数;以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在所述闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;用所述相同值个数除以4、2或8,作为所述重组步骤的报数终点。
优选的,所述页的大小为528字节;所述预设偏移地址为512或520字节。
优选的,在所述引导扇区搜索步骤以及重组步骤中的读取一个16位无符号整数的步骤之后还包括:置换该16位无符号整数的高8位和低8位,并将置换后产生的16位整数的高4位清零,生成转换后的16位整数。
依据本发明的另一优选实施例,还公开了一种闪存芯片数据解析装置,包括容器文件创建单元、引导扇区搜索单元、重组单元和计数提取单元,其中:所述容器文件创建单元用于创建保存数据解析结果的空的容器文件;所述引导扇区搜索单元用于在所述闪存芯片的整个镜像范围内搜索引导扇区,并在搜索到引导扇区的地址读取一个页,在该页的预设偏移地址处读取一个16位无符号整数,作为所述重组单元的起始编号;所述重组单元用于在所述闪存芯片的镜像中,以页为单位搜索,读取所述预设偏移地址处的16位无符号整数,判断该16位整数是否与所述起始编号相同,若是,则计数器递增1;直至所述计数器递增至报数终点为止;以及,将搜索到的包含有所述起始编号的页写入所述容器文件创建单元创建的容器文件;所述计数提取单元,用于重复将所述起始编号递增1,以及,调用所述重组单元按新的起始编号执行重组操作的过程,直至所述递增后的起始编号不能在所述闪存芯片的镜像中搜索到为止。
优选的,上述装置还包括统计单元和判断单元,其中:所述统计单元用于读取所述闪存芯片的末尾页,以该末尾页的预设偏移地址为起始地址,提取一个64位无符号整数,以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在所述闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;所述判断单元用于判断所述统计单元获得的相同值个数是否为2的n次方,若否,则结束数据解析过程;其中,n为不小于2的正整数。
优选的,上述装置还包括统计单元和报数终点生成单元,其中:所述统计单元用于读取所述闪存芯片的末尾页,以该末尾页的预设偏移地址为起始地址,提取一个64位无符号整数,以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在所述闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;所述报数终点生成单元用于将所述统计单元获得的相同值个数除以4、2或8,作为所述重组单元使用的报数终点。
优选的,所述页的大小为528字节;所述预设偏移地址为512或520字节。
优选的,上述装置还包括数据转换单元,用于将所述引导扇区搜索单元和重组单元读取的16位无符号整数作后续操作之前,先进行如下转换:置换该16位无符号整数的高8位和低8位,并将置换后产生的16位整数的高4位清零,生成转换后的16位整数。
与现有技术相比,本发明具有以下优点:
本发明优选实施例基于引导扇区搜索、冗余数据分析和计数提取FLASH芯片数据解析方法,与现有基于映射表解析的重组原则不同,利用FLASH芯片中特有的冗余数据,计算并提炼出FLASH地址映射的相关参数,再利用计数提取的独特算法,摒弃对数据解析无用的固件信息,达到在PC上建立数据解析环境的目的;不仅可解决常规FLASH芯片的数据解析问题,还可实现对非标准FLASH芯片(如应用于手机、U盘等存储设备的特定格式FLASH芯片)的数据解析。
本发明优选实施例基于引导扇区搜索、冗余数据分析和计数提取FLASH芯片数据解析方法,是FLASH芯片数据解析技术的一次突破,不仅可用于FLASH存储设备中数据的提取(特别对采用非标准FLASH芯片的设备中数据的提取),还可以针对损坏的手机、U盘、闪存卡等便携存储设备进行数据解析,恢复保存在这些设备中的证据信息和数据,具有使数据“起死回生”的效果,增加了FLASH芯片数据解析技术的应用范围,具有良好的应用推广前景。
附图说明
图1是本发明闪存芯片数据解析方法第一实施例流程图;
图2是本发明闪存芯片数据解析方法第二实施例流程图;
图3-1是本发明闪存芯片数据解析方法具体实施例数据解析前WINHEX软件的识别结果示意图;
图3-2是本发明闪存芯片数据解析方法具体实施例数据解析后WINHEX软件的识别结果示意图;
图4是本发明闪存芯片数据解析装置一实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明闪存芯片数据解析方法第一实施例的流程,具体包括以下步骤:
步骤S101:创建用于保存数据解析结果的空的容器文件;
步骤S102:搜索引导扇区,读取一个16位无符号整数作为起始编号;
具体方法为:在闪存芯片的整个镜像范围内搜索引导扇区,并在搜索到引导扇区的地址读取一个页,在该页的预设偏移地址处读取一个16位无符号整数,作为后续重组步骤的起始编号;
在本优选实施例中,页的大小可设置为528字节,预设偏移地址可以为512或520字节;
另外,对于部分闪存芯片,还需要将该16位无符号整数作如下操作后,才能作为起始编号:置换其高8位和低8位,并将置换后产生的16位整数的高4位清零。
步骤103:以闪存芯片的镜像中第1页为当前页,初始化计数器;
步骤104:从当前页的预设偏移地址处读取一个16位无符号整数;
与步骤S102类似,对于部分闪存芯片,在读取该16位无符号整数之后,还需要将该16位无符号整数作如下操作:置换其高8位和低8位,并将置换后产生的16位整数的高4位清零。
步骤105:判断该16位整数是否与起始编号相同,若是,转步骤106;否则,转步骤107;
步骤106:将搜索到的包含有起始编号的页写入上述容器文件;计数器递增1;
步骤107:判断计数器是否小于报数终点,并且,当前页不是闪存芯片的末尾页;若是,转步骤108;否则,转步骤109;
步骤108:将闪存芯片镜像中的下一页作为当前页,转步骤104;
步骤109:判断计数器是否大于初始化值,若是,转步骤110;否则,结束流程;
步骤110:起始编号递增1,转步骤103。
对于上述步骤,若计数器在步骤104~步骤107循环执行期间没有增加,说明该起始编号在闪存芯片的镜像中不存在。
参照图2,示出了本发明闪存芯片数据解析方法第二实施例的流程,在本优选实施例中,除包括第一实施例的相关步骤外,还对闪存芯片包含的特定信息进行统计分析,以确定该闪存芯片是否适合用本发明方法数据解析;另外,在本优选实施例中,还给出了报数终点的具体设定方法,具体包括以下步骤:
步骤S201:建立一个空的容器文件,作为重组后的页存放空间;
步骤S202:读取闪存芯片末尾大小为528字节的1页,以该页512或520字节偏移为起始地址,提取一个64位无符号整数;
步骤S203:以该64位无符号整数为参照值,以第512或520字节偏移为参照地址,在整个镜像中搜索与该64位整数相同值的个数;
步骤S204:判断该相同值的个数是否满足2的n次方,若是,则转步骤205;否则,结束流程;
如果搜索出的相同值的个数不满足2的n次方(n为不小于2的整数),说明该FLASH芯片并不适用于本发明方法,流程终止。例如,如果搜索出了128个相同的值,128是2的7次方,流程可以继续;
步骤205:用上述相同值的个数除以4、2或8,作为计数器的报数终点;
建立一个计数器,优选将步骤203搜索出的相同值的个数除以4,作为计数器的报数终点。例如:如果搜索出了128个相同值,128除以4为32,那么32就是计数器的报数终点;
步骤S206:搜索引导扇区,读取一个16位无符号整数,转换后作为起始编号;
在整个镜像范围内搜索引导扇区,并在搜索到引导扇区的地址读取一个大小为528个字节的页,在该528个字节中第512偏移处读取一个16位无符号整数,置换该16位无符号整数的高8位和低8位,并将置换后产生的16位整数的高4位清零,得到的整数作为后续步骤的起始编号。例如,若读出的16位无符号整数为0x1122,那么首先置换其高8位和低8位,得出整数0x2211,清零高四位后成为0x0211,0x0211就是后续过程的起始编号;
步骤S207:收集镜像中相同位置拥有起始编号的页,每搜到一个,计数器递增1,把该拥有起始编号的页写入容器文件中;直至计数器增长到报数终点为止;
按照步骤S206的方法,在每个页的512偏移处提取并转换16位无符号整数,然后对比是否与起始编号相同(如0x0211),如果是,计数器递增1,将该页写入容器文件;如果计数器已递增到和报数终点相同的值,那么该起始编号的搜索工作即可结束;
步骤S208:起始编号递增1,重复执行步骤S207,直至递增后的起始编号不能在镜像中搜索到为止。
例如:起始编号为0x0211,那么现在递增为0x0212,然后收集镜像中相同位置拥有0x0212编号的页,如果在镜像中搜索到拥有0x0212编号的页,依然利用步骤S207的方法,把收集到的页紧挨上次写入的页写入容器文件中;依次类推,直到递增后的起始编号不能在镜像中搜索到为止。
下面,以K9F1208U0B48BGA_Samsung芯片为例,具体说明本发明闪存芯片数据解析方法的流程。
首先,在用本发明方法进行数据解析之前,对K9F1208U0B48BGA_Samsung芯片,用WINHEX软件进行识别,报告找不到分区空间,其结果如图3-1所示;说明没有用本发明方法对该闪存数据解析之前,WINHEX软件无法识别该闪存芯片。
其次,参照上述第二实施例的流程,对上述K9F1208U0B48BGA_Samsung芯片进行如下数据解析过程:
步骤S301:建立一个空的容器文件,作为重组后的页存放空间;
步骤S302:读取该芯片末尾528字节,并在该528个字节中的512偏移处开始提取一个64位无符号整数;
步骤S303:以该64位无符号整数为参照值,以528字节中的第512偏移为参照地址,在整个镜像中进行搜索,搜索出的相同值的个数;在该具体实例中,搜索出了128个相同的值,而128是2的7次方,因此流程可以继续;
步骤S304:用步骤S303搜索出的相同值的个数(即128)除以4,作为计数器的报数终点(在该具体实例中,128除以4等于32,那么32就是计数器的报数终点);
步骤S305:在整个镜像范围内搜索引导扇区,并在搜索到引导扇区的地址读取一个大小为528个字节的页,在该页的第512字节偏移处读取一个16位无符号整数,整数读取后,置换其高8位和低8位,并将置换后产生的16位整数的高4位清零,最终得到的整数作为重组过程的起始编号;在该具体实例中,读出的16位无符号整数为0x1122,置换其高8位和低8位后,得出整数为0x2211,将高四位清零后,得到整数0x0211,该整数0x0211就是后续重组过程的起始编号;
步骤S306:首先收集镜像中相同位置(即512字节偏移处)拥有起始编号0x0211的页,每搜到一个,计数员变量递增1,直到增长到报数终点为止。然后,把所有搜索到的拥有该起始编号0x0211的页写入上述容器文件中;
步骤S307:把起始编号递增1,利用上一步中的方法,把收集到的页紧挨上次写入的页写入容器文件中;重复上述过程,直到递增后的起始编号不能在镜像中搜索到为止。例如:起始编号为0x0211,那么首次递增为0x0212,然后收集镜像中相同位置拥有0x0212编号的页;如果在镜像中没有搜到拥有0x0212编号的页,那么起始编号再递增,搜索拥有0x0213编号的页;如果搜索到拥有0x0212编号的页,则把收集到的页紧挨上次写入的页写入容器文件中;然后再重复上述递增搜索过程,直到递增后的起始编号不能在镜像中搜索到为止。
最后,在用本发明方法对该闪存芯片完成数据解析过程之后,用WINHEX软件读取上述数据解析过程产生的容器文件,可发现如图3-2所示的目录结构,包括ALBUM、AUDIO、MOVIE和MP3等子目录;对其中的MP3子目录进行数据验证,可以看到,MP3目录下的所有MP3文件全部都可以正常播放。通过该具体实例说明,对于K9F1208U0B48BGA_Samsung芯片,通过本发明方法数据解析之后,WINHEX软件可以通过上述数据解析过程产生的容器文件读取该闪存芯片保存的数据。
需要说明的是,上述基于引导扇区搜索、冗余数据分析和计数提取的FLASH芯片数据解析方法,是FLASH芯片数据解析技术的一次突破,除可以用于识别存储在FLASH芯片中的数据外,还可以针对损坏的手机、U盘、闪存卡等包含有FLASH芯片的便携存储设备进行数据恢复,具有使其证据信息和数据“起死回生”的能力,可进一步增加本发明FLASH芯片数据解析方法的应用范围,降低应用成本。
另外,对于前述的各方法实施例,为了描述简单,故将其都表述为一系列的动作组合,但是本领域的技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺序或同时执行。其次,本领域技术人员也应该知悉,上述方法实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参照图4,示出了本发明闪存芯片数据解析装置一实施例的结构框图,具体包括以下单元:
容器文件创建单元41:用于创建保存数据解析结果的空的容器文件;
引导扇区搜索单元42:用于在闪存芯片的整个镜像范围内搜索引导扇区,并在搜索到引导扇区的地址读取一个页,在该页的预设偏移地址处读取一个16位无符号整数,用数据转换单元45转换后,作为重组单元43的起始编号;
其中,上述页的大小为528字节;预设偏移地址为该页的第512或520字节处。
重组单元43:用于在闪存芯片的镜像中,以页(528字节)为单位搜索,读取预设偏移地址处(512字节或520字节)的16位无符号整数,用数据转换单元45转换后,判断该转换后的16位整数是否与起始编号相同,若是,则计数器递增1;直至计数器递增至报数终点生成单元48生成的报数终点为止;以及,将搜索到的包含有起始编号的页写入容器文件创建单元41创建的容器文件中;
计数提取单元44:用于重复将起始编号递增1,以及,调用重组单元43按新的起始编号执行重组操作的过程,直至递增后的起始编号不能在闪存芯片的镜像中搜索到为止;
数据转换单元45:用于将引导扇区搜索单元42和重组单元43读取的16位无符号整数作后续操作之前,先进行如下转换:置换该16位无符号整数的高8位和低8位,并将置换后产生的16位整数的高4位清零,生成转换后的16位整数;
统计单元46:用于读取闪存芯片的末尾页,以该末尾页的预设偏移地址(512字节或520字节)为起始地址,提取一个64位无符号整数;以及,以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;
判断单元47:用于判断统计单元46获得的相同值个数是否为2的n次方,若否,则结束数据解析过程;其中,n为不小于2的正整数;
报数终点生成单元48:用于将统计单元46获得的相同值个数除以4、2或8,作为重组单元43使用的报数终点。
需要说明的是,上述装置实施例属于优选实施例,所涉及的单元和模块并不一定是本发明所必须的。如,对于某些型号的FLASH芯片,不需要对其16位整数的高8位和底8位置换,因此,数据转换单元45可以省略;特定情况下,统计单元46、判断单元47或报数终点生成单元48等单元也可以省略。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本发明的装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种闪存芯片数据解析方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种闪存芯片数据解析方法,其特征在于,包括:
容器文件创建步骤:创建用于保存数据解析结果的空的容器文件;
引导扇区搜索步骤:在所述闪存芯片的整个镜像范围内搜索引导扇区,并在搜索到引导扇区的地址读取一个页,在该页的预设偏移地址处读取一个16位无符号整数,作为后续重组步骤的起始编号;
重组步骤:在所述闪存芯片的镜像中,以页为单位搜索,在该页的预设偏移地址处读取一个16位无符号整数,判断该16位整数是否与所述起始编号相同,若是,则计数器递增1;直至所述计数器递增至报数终点为止;以及,将搜索到的包含有所述起始编号的页写入所述容器文件;
计数提取步骤:重复执行将所述起始编号递增1,以及,按所述重组步骤的方法搜索并将包含有所述递增后的起始编号的页依次写入所述容器文件的过程,直至所述递增后的起始编号不能在所述闪存芯片的镜像中搜索到为止;
其中,在所述引导扇区搜索步骤或容器文件创建步骤之前还包括:
读取所述闪存芯片的末尾页,以该末尾页的预设偏移地址为起始地址,提取一个64位无符号整数;
以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在所述闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;
若所述相同值个数为2的n次方,则继续后续流程;其中,n为不小于2的正整数。
2.如权利要求1所述的闪存芯片数据解析方法,其特征在于,在所述引导扇区搜索步骤或容器文件创建步骤之前还包括:
读取所述闪存芯片的末尾页,以该末尾页的预设偏移地址为起始地址,提取一个64位无符号整数;
以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在所述闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;
用所述相同值个数除以4、2或8,作为所述重组步骤的报数终点。
3.如权利要求1或2所述的闪存芯片数据解析方法,其特征在于,所述页的大小为528字节;所述预设偏移地址为512或520字节。
4.如权利要求1所述的闪存芯片数据解析方法,其特征在于,在所述引导扇区搜索步骤以及重组步骤中的读取一个16位无符号整数的步骤之后还包括:
置换该16位无符号整数的高8位和低8位,并将置换后产生的16位整数的高4位清零,生成转换后的16位整数。
5.一种闪存芯片数据解析装置,其特征在于,包括容器文件创建单元、引导扇区搜索单元、重组单元、计数提取单元、统计单元和判断单元,其中:
所述容器文件创建单元用于创建保存数据解析结果的空的容器文件;
所述引导扇区搜索单元用于在所述闪存芯片的整个镜像范围内搜索引导扇区,并在搜索到引导扇区的地址读取一个页,在该页的预设偏移地址处读取一个16位无符号整数,作为所述重组单元的起始编号;
所述重组单元用于在所述闪存芯片的镜像中,以页为单位搜索,读取所述预设偏移地址处的16位无符号整数,判断该16位整数是否与所述起始编号相同,若是,则计数器递增1;直至所述计数器递增至报数终点为止;以及,将搜索到的包含有所述起始编号的页写入所述容器文件创建单元创建的容器文件;
所述计数提取单元,用于重复将所述起始编号递增1,以及,调用所述重组单元按新的起始编号执行重组操作的过程,直至所述递增后的起始编号不能在所述闪存芯片的镜像中搜索到为止;
所述统计单元用于读取所述闪存芯片的末尾页,以该末尾页的预设偏移地址为起始地址,提取一个64位无符号整数;以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在所述闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;
所述判断单元用于判断所述统计单元获得的相同值个数是否为2的n次方,若否,则结束数据解析过程;其中,n为不小于2的正整数。
6.如权利要求5所述的闪存芯片数据解析装置,其特征在于,还包括统计单元和报数终点生成单元,其中:
所述统计单元用于读取所述闪存芯片的末尾页,以该末尾页的预设偏移地址为起始地址,提取一个64位无符号整数;以上述64位无符号整数为参照值,以预设偏移地址为每个镜像页的参照地址,在所述闪存芯片的整个镜像中进行搜索,获得与该64位无符号整数相同的相同值个数;
所述报数终点生成单元用于将所述统计单元获得的相同值个数除以4、2或8,作为所述重组单元使用的报数终点。
7.如权利要求5或6所述的闪存芯片数据解析装置,其特征在于,所述页的大小为528字节;所述预设偏移地址为512或520字节。
8.如权利要求5所述的闪存芯片数据解析装置,其特征在于,还包括数据转换单元,用于将所述引导扇区搜索单元和重组单元读取的16位无符号整数作后续操作之前,先进行如下转换:置换该16位无符号整数的高8位和低8位,并将置换后产生的16位整数的高4位清零,生成转换后的16位整数。
CN201010598171.0A 2010-12-21 2010-12-21 闪存芯片数据解析方法和装置 Active CN102567209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010598171.0A CN102567209B (zh) 2010-12-21 2010-12-21 闪存芯片数据解析方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010598171.0A CN102567209B (zh) 2010-12-21 2010-12-21 闪存芯片数据解析方法和装置

Publications (2)

Publication Number Publication Date
CN102567209A CN102567209A (zh) 2012-07-11
CN102567209B true CN102567209B (zh) 2015-03-04

Family

ID=46412676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010598171.0A Active CN102567209B (zh) 2010-12-21 2010-12-21 闪存芯片数据解析方法和装置

Country Status (1)

Country Link
CN (1) CN102567209B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183383B (zh) * 2015-09-10 2018-05-15 厦门市美亚柏科信息股份有限公司 一种文件系统无关的镜像重组方法
CN106569747B (zh) * 2016-10-27 2019-01-11 宁波迦南智能电气股份有限公司 一种大容量采集终端的数据位置存储及检索方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0827068A2 (en) * 1996-09-02 1998-03-04 Siemens Plc Floating point number data processing means
CN101398785A (zh) * 2007-09-28 2009-04-01 智多星电子科技有限公司 具有多样闪存单元的电子数据闪存卡
CN101794261A (zh) * 2009-11-24 2010-08-04 深圳市硅格半导体有限公司 映射表数据恢复方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0827068A2 (en) * 1996-09-02 1998-03-04 Siemens Plc Floating point number data processing means
CN101398785A (zh) * 2007-09-28 2009-04-01 智多星电子科技有限公司 具有多样闪存单元的电子数据闪存卡
CN101794261A (zh) * 2009-11-24 2010-08-04 深圳市硅格半导体有限公司 映射表数据恢复方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于YAFFS文件系统的数据恢复;秦海权等;《全国计算机安全学术交流会论文集》;20100917;第25卷;第65-68页 *
超大容量NAND Flash文件系统——YAFFS2在Linux下的实现;龙亚春等;《北京电子科技学院学报》;20060115;第15卷(第2期);第80-84页 *

Also Published As

Publication number Publication date
CN102567209A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN102662690B (zh) 应用程序启动方法和装置
CN102831001B (zh) 软件升级包的制作方法及装置、程序的升级方法及设备
CN106874348B (zh) 文件存储和索引方法、装置及读取文件的方法
US20150331619A1 (en) Data storage method and apparatus
CN102129425B (zh) 数据仓库中大对象集合表的访问方法及装置
CN110532347B (zh) 一种日志数据处理方法、装置、设备和存储介质
CN102937926A (zh) 一种恢复移动终端已删除sqlite文件的方法及装置
CN106201774B (zh) 一种nand flash存储芯片数据存储结构分析方法
CN102136296B (zh) 一种NAND Flash存储芯片的元数据格式识别方法
WO2017036348A1 (zh) 一种可扩展标记语言xml文档的压缩、解压方法和装置
CN102591787B (zh) Java卡的数据处理方法及装置
EP3889797A1 (en) Database index and database query processing method, apparatus, and device
CN103226510B (zh) 解析vmcore文件的方法和装置
CN101551820B (zh) 兴趣点属性的索引数据库的生成方法和装置
CN103631589A (zh) 应用识别方法与装置
CN104778252A (zh) 索引的存储方法和装置
CN102567209B (zh) 闪存芯片数据解析方法和装置
CN103152633A (zh) 一种关键词的识别方法及装置
CN102567210B (zh) 闪存芯片数据分析环境重组方法和装置
CN104637496A (zh) 计算机系统及音频比对方法
CN105740374A (zh) 基于分布式内存的三维平台数据模糊查询方法
CN102760212B (zh) 一种基于存储镜像克隆机制虚拟桌面恶意代码检测方法
CN115080563A (zh) 数据捕获方法、装置、系统、电子设备及存储介质
CN114550809A (zh) 多存储卡的测试方法、装置、计算机设备及存储介质
CN110689133B (zh) 一种训练机器学习引擎的方法、系统及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20120711

Assignee: XIAMEN SECURITY INTELLIGENCE INFORMATION TECHNOLOGY CO.,LTD.

Assignor: XIAMEN MEIYA PICO INFORMATION Co.,Ltd.

Contract record no.: X2023350000015

Denomination of invention: Flash memory chip data analysis method and device

Granted publication date: 20150304

License type: Common License

Record date: 20230221

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20120711

Assignee: Xiaoma Baoli (Xiamen) Network Technology Co.,Ltd.

Assignor: XIAMEN MEIYA PICO INFORMATION Co.,Ltd.

Contract record no.: X2023350000094

Denomination of invention: Flash memory chip data analysis method and device

Granted publication date: 20150304

License type: Common License

Record date: 20230317