CN105447168B - Mp4格式的碎片文件恢复与重组的方法 - Google Patents
Mp4格式的碎片文件恢复与重组的方法 Download PDFInfo
- Publication number
- CN105447168B CN105447168B CN201510887995.2A CN201510887995A CN105447168B CN 105447168 B CN105447168 B CN 105447168B CN 201510887995 A CN201510887995 A CN 201510887995A CN 105447168 B CN105447168 B CN 105447168B
- Authority
- CN
- China
- Prior art keywords
- keyword
- cluster
- data
- file
- indicates
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1724—Details of de-fragmentation performed by the file system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种MP4格式的碎片文件恢复与重组的方法,属于信息安全技术领域,001‑加载磁盘分区或镜像文件,识别其分区类型,根据文件系统获取簇大小nCluster,根据簇位图来查找该分区或者镜像文件的空闲簇;002‑解析MP4文件结构,对MP4数据区mdat box进行重组,找出mdat连续文件。本发明的有益效果如下:一个正常的mp4文件由多个box组成,一般分为管理区和数据区,本发明能处理管理区丢失的文件;可区分文件系统空闲区域,可准确查找到文件系统中所有mp4数据区的所有数据,通过特征数据中的大小对其进行重组,针对在存储介质中为非连续存储的数据碎片进行重组的数据恢复,数据恢复成功率高。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种MP4格式的碎片文件恢复与重组的方法。
背景技术
MP4格式是一种比较常见的视频格式,广泛的运用于手机视频拍摄和监控领域。在信息化迅速发展的21世纪,计算机技术日新月异,与人们的日常生活息息相关,存储设备数据丢失往往能给个人,甚至企业单位带来无尽的烦恼与麻烦,在涉及计算机数据存储工作中,如在企业工作中,企业数据丢失造成的损失是不可估量的,小则使公司无法开展工作,大则可能导致企业损失惨重而倒闭,特别是在信息化企业中,公司的电子资料就是他们的命脉,如能恢复这些资料将能拯救企业,让企业的损失降到最低;如在公安领域,这些数据也许就是案件的电子证据,如果检验人员能够获取更多计算机中的数据,那么就更加有利于案件的早日侦破,也能够向法庭提供更多的可靠的证据;这对取证,特别是数据恢复工作提出了更高的要求。
目前,市场上使用最为流行的数据取证商业软件有encase、WinHex、R-Studio等,这些软件在常规文件记录存在,且文件连续是可以恢复的;一旦遇到文件记录不在或者文件存储位置不连续就无法恢复出这些文件中的数据或者关键信息。
发明内容
本发明针对现有技术的不足,提供一种MP4格式的碎片文件恢复与重组的方法,能够有效解决现有技术无法恢复MP4格式的碎片文件。
为解决以上问题,本发明采用的技术方案如下:一种MP4格式的碎片文件恢复与重组的方法,包括如下步骤:
001-加载磁盘分区或镜像文件,识别其分区类型,根据文件系统获取簇大小nCluster,根据簇位图来查找该分区或者镜像文件的空闲簇;
002-解析MP4文件结构,对MP4数据区mdat box进行重组,找出mdat连续文件。
作为优选,所述002的具体方法如下:
201-在空闲区检索关键字0x0000XXXX,按照是否存在此类型的关键字划分集合,存在为集合Y,不存在为集合N,Y中元素的记录方式为(n,nPos),n表示簇号,nPos表示关键字在相对此簇起始的偏移地址,N中元素的记录方式为(n),n表示簇号;
202-Y(n)表示集合Y中的第n个元素,n初始化为1,取出F(n),得到F(n)中关键字出现的次数;
203-判断关键字出现的次数,如果>1次,转到204,等于1次转到212;
204-使用关键字出现的次数来初始化值nTimes;
205-根据关键字,读取出数据块大小nSize,如果nSize>(nCluster-nPos),转到206,否则转到209;
206-从关键字后面向后跳转nSize个字节;
207-判断跳转出现的数据是否为关键字,如果是关键字,则转到208,否则转到209;
208-标记上一个关键字到当前位置内的数据为有效数据,添加到集合R中,所述集合R的元素的记录方式为(NO,Pos1,Pos2),NO表示簇号的集合,所述集合NO的元素表示为(n1,n2,n3……),Pos1、Pos2集合表示开始和结束相对于当前簇的偏移元素,所述偏移元素表示为(n,nPos);
209-将此簇开始位置到关键字之前的数据添加到集合E中,元素的记录方式为(n,nSegSize2),n表示簇号,nSegSize2表示当前块的大小,所述此簇开始位置到关键字之前的数据的值为Pos;
210-执行操作nTimes=nTimes-1;
211-判断当前nTimes是否等于1,如果不等于1,则转到204,否则转到212;
212-根据关键字,读取出数据块大小nSize,如果nSize>(nCluster-nPos),转到213,否则转到214;
213-执行n=n+1,即丢弃当前簇;
214-将关键字之前的数据区块添加到集合E,将关键字之后的区块添加到集合B,集合B的元素记录方式为(n,nSize,nPos,nSegSize1),nSegSize1表示当前位置到此簇结束位置区块的大小,所述关键字之后的区块为nCluster-nPos;
215-当完成对集合Y的遍历后,得到集合B,E及步骤201所述集合N,完成重组。
作为优选,所述215的具体方法如下:
2151-默认所有集合都是按照簇号n来进行排序,从集合B中取出第一个元素;
2152-从集合E中取出第一个元素;
2153-判断nSize≡(nSegSize1+nSegSize2)mod nCluster是否成立,如果成立转到2155,否则转到2154;
2154-执行n=n+1,表示当前E(n)无效;
2155-执行[nSize-(nSegSize1+nSegSize2)]/nCluster得到一个值i,表示需要集合N中按照B(n).n开始连续向后取i个值,添加到B(n)和E(n)之间,然后将此添加到集合R中;
2156-遍历R中的元素,将簇号相同的元素进行合并。
本发明的有益效果如下:一个正常的mp4文件由多个box组成,一般分为管理区和数据区,本发明能处理管理区丢失的文件;可区分文件系统空闲区域,可准确查找到文件系统中所有mp4数据区的所有数据,通过特征数据中的大小对其进行重组,针对在存储介质中为非连续存储的数据碎片进行重组的数据恢复,数据恢复成功率高。mp4文件的数据区mdatbox按照关键字0x0000XXXX进行管理,XXXX按照Big-Endian的得出值为nSize,在此位置向后偏移nSize字节后的字节如果也是0x0000xxxx的方式,表示此数据为有效数据。
附图说明
图1为主流程示意图;
图2为002具体流程示意图;
图3为215具体流程意示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
针对上述提出的问题,本发明提出了一种MP4格式的碎片文件恢复与重组的方法,包括以下步骤:
001-加载磁盘分区或镜像文件,识别其分区类型,具体地支持的分区类型包括FAT32、NTFS、EXT2/3/4、UFS、HFS/HFS+,根据文件系统获取簇大小nCluster,根据簇位图来查找该分区或者镜像的空闲簇。
002-解析mp4文件结构,对mp4数据区mdat box进行重组,找出mdat连续文件,选择数据较大的连续文件。
201-在空闲区检索关键字0x0000XXXX,按照是否存在此类型的关键字进行集合划分,存在为集合Y,不存在为集合N,Y中元素的记录方式为(n,nPos),n表示簇号,nPos表示关键字在相对此簇起始的偏移地址。N中元素的记录方式为(n),n表示簇号。
202-Y(n)表示集合Y中的第n个元素,n初始化为1。取出F(n),得到F(n)中关键字出现的次数。
203-判断关键字出现的次数,如果>1次,转到204,等于1次转到212.
204-使用关键字出现的次数来初始化值nTimes。
205-根据关键字,读取出数据块大小nSize,如果nSize>(nCluster-nPos),转到206,否则转到209.
206-从关键字后面向后跳转nSize个字节。
207-判断跳转出现的数据是否为关键字,如果是关键字,则转到208,否则转到209。
208-标记上一个关键字到当前位置内的数据为有效数据,添加到集合R中,所述集合R的元素的记录方式为(NO,Pos1,Pos2),NO表示簇号的集合,所述集合NO的元素表示为(n1,n2,n3……),Pos1、Pos2集合表示开始和结束相对于当前簇的偏移元素,所述偏移元素表示为(n,nPos);
209-将此簇开始位置到关键字之前的数据添加到集合E中,元素的记录方式为(n,nSegSize2),n表示簇号,nSegSize2表示当前块的大小,所述此簇开始位置到关键字之前的数据的值为Pos;
210-执行操作nTimes=nTimes-1。
211-判断当前nTimes是否等于1,如果不等于1,则转到204,否则转到212。
212-根据关键字,读取出数据块大小nSize,如果nSize>(nCluster-nPos),转到213,否则转到214。
213-执行n=n+1,即丢弃当前簇。
214-将关键字之前的数据区块添加到集合E,将关键字之后的区块添加到集合B。集合B的元素记录方式为(n,nSize,nPos,nSegSize1),nSegSize1表示当前位置到此簇结束位置区块的大小,所述关键字之后的区块为nCluster-nPos。
215-当完成对集合Y的遍历后,得到集合B,E及步骤201所述集合N,完成重组。
215具体如下:
2151-默认所以集合都是按照簇号n来进行排序,从集合B中取出第一个元素。
2152-从集合E中取出第一个元素。
2153-判断nSize≡(nSegSize1+nSegSize2)mod nCluster是否成立,如果成立转到2155,否则转到2154。
2154-执行n=n+1,表示当前E(n)无效。
2155-执行[nSize-(nSegSize1+nSegSize2)]/nCluster得到一个值i,表示需要集合N中按照B(n).n开始连续向后取i个值,添加到B(n)和E(n)之间,然后将此添加到集合R中。
2156-遍历R中的元素,将簇号相同的元素进行合并。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (2)
1.一种基于MP4格式的碎片文件恢复与重组的方法,其特征在于,包括如下步骤:
001-加载磁盘分区或镜像文件,识别其分区类型,根据文件系统获取簇大小nCluster,根据簇位图来查找该分区或者镜像文件的空闲簇;
002-解析MP4文件结构,对MP4数据区mdat box进行重组,找出mdat连续文件;
所述002的具体方法如下:
201-在空闲区检索关键字0x0000XXXX,按照是否存在此类型的关键字划分集合,存在为集合Y,不存在为集合N,Y中元素的记录方式为(n,nPos),n表示簇号,nPos表示关键字在相对此簇起始的偏移地址,N中元素的记录方式为(n),n表示簇号;
202-Y(n)表示集合Y中的第n个元素,n初始化为1,取出F(n),得到F(n)中关键字出现的次数;
203-判断关键字出现的次数,如果>1次,转到204,等于1次转到212;
204-使用关键字出现的次数来初始化值nTimes;
205-根据关键字,读取出数据块大小nSize,如果nSize>(nCluster-nPos),转到206,否则转到209;
206-从关键字后面向后跳转nSize个字节;
207-判断跳转出现的数据是否为关键字,如果是关键字,则转到208,否则转到209;
208-标记上一个关键字到当前位置内的数据为有效数据,添加到集合R中,所述集合R的元素的记录方式为(NO,Pos1,Pos2),NO表示簇号的集合,所述集合NO的元素表示为(n1,n2,n3……),Pos1、Pos2集合表示开始和结束相对于当前簇的偏移元素,所述偏移元素表示为(n,nPos);
209-将此簇开始位置到关键字之前的数据添加到集合E中,元素的记录方式为(n,nSegSize2),n表示簇号,nSegSize2表示当前块的大小,所述此簇开始位置到关键字之前的数据的值为Pos;
210-执行操作nTimes=nTimes-1;
211-判断当前nTimes是否等于1,如果不等于1,则转到204,否则转到212;
212-根据关键字,读取出数据块大小nSize,如果nSize>(nCluster-nPos),转到213,否则转到214;
213-执行n=n+1,即丢弃当前簇;
214-将关键字之前的数据区块添加到集合E,将关键字之后的区块添加到集合B,集合B的元素记录方式为(n,nSize,nPos,nSegSize1),nSegSize1表示当前位置到此簇结束位置区块的大小,所述关键字之后的区块为nCluster-nPos;
215-当完成对集合Y的遍历后,得到集合B,E及步骤201所述集合N,完成重组。
2.根据权利要求1所述的基于MP4格式的碎片文件恢复与重组的方法,其特征在于,所述215的具体方法如下:
2151-默认所有集合都是按照簇号n来进行排序,从集合B中取出第一个元素;
2152-从集合E中取出第一个元素;
2153-判断nSize≡(nSegSize1+nSegSize2)mod nCluster是否成立,如果成立转到2155,否则转到2154;
2154-执行n=n+1,表示当前E(n)无效;
2155-执行[nSize-(nSegSize1+nSegSize2)]/nCluster得到一个值i,表示需要集合N中按照B(n).n开始连续向后取i个值,添加到B(n)和E(n)之间,然后将此添加到集合R中;
2156-遍历R中的元素,将簇号相同的元素进行合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510887995.2A CN105447168B (zh) | 2015-12-04 | 2015-12-04 | Mp4格式的碎片文件恢复与重组的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510887995.2A CN105447168B (zh) | 2015-12-04 | 2015-12-04 | Mp4格式的碎片文件恢复与重组的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105447168A CN105447168A (zh) | 2016-03-30 |
CN105447168B true CN105447168B (zh) | 2019-03-22 |
Family
ID=55557344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510887995.2A Active CN105447168B (zh) | 2015-12-04 | 2015-12-04 | Mp4格式的碎片文件恢复与重组的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447168B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502836B (zh) * | 2016-11-02 | 2019-04-19 | 四川秘无痕信息安全技术有限责任公司 | 一种基于wb_dc文件系统的监控视频数据恢复方法 |
CN107704341A (zh) * | 2017-08-31 | 2018-02-16 | 湖北灰科信息技术有限公司 | 文件恢复方法、装置及电子设备 |
CN109656929B (zh) * | 2018-12-25 | 2023-06-02 | 四川效率源信息安全技术股份有限公司 | 一种雕复关系型数据库文件的方法及装置 |
CN109684421B (zh) * | 2018-12-25 | 2023-05-02 | 四川效率源信息安全技术股份有限公司 | 一种基于图论的雕复Oracle数据库文件的方法 |
CN110781037B (zh) * | 2020-01-02 | 2020-04-17 | 成都易我科技开发有限责任公司 | 恢复存储介质中视频文件的方法、系统及可读存储介质 |
US11765316B2 (en) | 2020-10-05 | 2023-09-19 | Microsoft Technology Licensing, Llc | Fast in-place FMP4 to MP4 conversion |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103069812A (zh) * | 2010-06-09 | 2013-04-24 | 三星电子株式会社 | 提供基于分段的多媒体流服务的方法及装置、接收基于分段的多媒体流服务的方法及装置 |
CN103327362A (zh) * | 2013-05-24 | 2013-09-25 | 武汉东信同邦信息技术有限公司 | 高可靠性流媒体存储系统及其方法 |
CN104063447A (zh) * | 2014-06-17 | 2014-09-24 | 惠州华阳通用电子有限公司 | 一种监控视频文件修复方法 |
CN105068885A (zh) * | 2015-07-27 | 2015-11-18 | 四川效率源信息安全技术有限责任公司 | 一种jpg碎片文件恢复与重组的方法 |
-
2015
- 2015-12-04 CN CN201510887995.2A patent/CN105447168B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103069812A (zh) * | 2010-06-09 | 2013-04-24 | 三星电子株式会社 | 提供基于分段的多媒体流服务的方法及装置、接收基于分段的多媒体流服务的方法及装置 |
CN103327362A (zh) * | 2013-05-24 | 2013-09-25 | 武汉东信同邦信息技术有限公司 | 高可靠性流媒体存储系统及其方法 |
CN104063447A (zh) * | 2014-06-17 | 2014-09-24 | 惠州华阳通用电子有限公司 | 一种监控视频文件修复方法 |
CN105068885A (zh) * | 2015-07-27 | 2015-11-18 | 四川效率源信息安全技术有限责任公司 | 一种jpg碎片文件恢复与重组的方法 |
Non-Patent Citations (2)
Title |
---|
SANYO数码相机中被删除视频的恢复;黄步根等;《信息网络安全》;20110930;第2011卷(第09期);第143页第2节-第155页第3节,表1-2 |
存储卡视频文件恢复研究;刘建军等;《信息网络安全》;20130630;第2013卷(第06期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105447168A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447168B (zh) | Mp4格式的碎片文件恢复与重组的方法 | |
US8166263B2 (en) | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices | |
CN102521269B (zh) | 一种基于索引的计算机连续数据保护方法 | |
CN102831222B (zh) | 一种基于重复数据删除的差量压缩方法 | |
US20170123676A1 (en) | Reference Block Aggregating into a Reference Set for Deduplication in Memory Management | |
CN110263014A (zh) | 面向时序型数据的区块链存储系统及方法 | |
CN103226965B (zh) | 基于时间位图的音视频数据存取方法 | |
CN110795499B (zh) | 基于大数据的集群数据同步方法、装置、设备及存储介质 | |
WO2012178072A1 (en) | Extracting incremental data | |
CN103197988A (zh) | 一种数据备份、恢复的方法、设备和数据库系统 | |
US20130067237A1 (en) | Providing random access to archives with block maps | |
CN107885619A (zh) | 一种数据精简去重和镜像异地备份保护的方法及系统 | |
CN107678892B (zh) | 基于跳跃恢复链的连续数据保护方法 | |
CN106407224A (zh) | 一种键值存储系统中文件压实的方法和装置 | |
CN108399047A (zh) | 一种闪存文件系统及其数据管理方法 | |
US20190057027A1 (en) | Key Data Store Garbage Collection and Multipart Object Management | |
CN103838645B (zh) | 一种基于哈希的远程差异合成备份实现方法 | |
JP2012510094A5 (zh) | ||
CN104050057B (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
CN103019891A (zh) | 一种还原被删除文件的方法及系统 | |
CN111722962A (zh) | 一种针对cdp数据的存储系统及其方法 | |
CN104281673A (zh) | 一种数据库的缓存构建系统及对应的构建方法 | |
CN104965835A (zh) | 一种分布式文件系统的文件读写方法及装置 | |
EP3343395B1 (en) | Data storage method and apparatus for mobile terminal | |
CN102298546A (zh) | 从磁盘上恢复被删除的jpg文件的方法及计算机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |