IOS 设备 iTunesCDB 文件详细解析(一)

IOS 移动设备里面有一个媒体数据库文件,这个文件保存了当前设备的媒体信息,比如音乐,视频,电子书,铃声等等,都保存在这里,废话不多说了

iTunesCDB 是一个二进制的文件,其中是用节点来组织的,每个节点都包含特定的信息,比如节点类型,节点头大小,子节点个数等等。有点像xml,但是和xml 又不一样,xml 是闭合的。

用二进制编辑器打开这个文件可以看到

MHBD 头

二进制文件的头四个字节mhbd 是一个标识,根据特定的标识不同的解析,在解析的时候只要关心自己需要的字段,其他不明白的字段读出来之后保存起来就可以了。下面介绍一下我在解析的时候关注的字段

1)   4字节的头标识  mhbd

2)   4字节的头长度

3)  4字节的总长度

如果是解析的话只需要关注这三个字段就可以了。

m_strIdentify = binaryReader.ReadString(4);

ValidateHeader("mhbd");

m_iHeadSize = binaryReader.ReadInt32();

int iTotalSize = binaryReader.ReadInt32();

itunescdb 文件是从mhbd 头开始的,mhbd 的section就保存了真正的媒体数据,但是这个section的数据是经过了压缩了,就是经过了zip 压缩过了,所以要解析的话就要先把section 内容读出来,然后用zip 解压一下就可以还原数据了。读section 内容的方法

int iSectionSize = iTotalSize  - m_iHeadSize  //获取section 的长度

binaryReader.Seek(m_iHeadSize,SEEK_SET); //将文件指针移动section的开始

byte* pDataBuffer = new byte[iSectionSize];

binaryReader.Read(pDataBuffer,iSectionSize); //读出section

读出来之后用zip的解压一下就可以还原数据了。后面有时间在继续吧

QQ: 2506314894

IOS 设备 iTunesCDB 文件详细解析(一)

时间: 2024-12-11 01:40:17

IOS 设备 iTunesCDB 文件详细解析(一)的相关文章

iOS中中UIView头文件详细解析

@interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> /** *  通过一个frame来初始化一个UI控件 */ - (id)initWithFrame:(CGRect)frame; // YES:能够跟用户进行交互 @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteraction

STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例

我用的是IAR,这个貌似是MDK的,不过很有用,大家可以看一下 ;* 文件名 : startup_stm32f10x_hd.s ;* 库版本 : V3.5.0 ;* 说明: 此文件为STM32F10x高密度设备的MDK工具链的启动文件 ;* 该模块执行以下操作: ;* -设置初始堆栈指针(SP) ;* -设置初始程序计数器(PC)为复位向量,并在执行main函数前初始化系统时钟 ;* -设置向量表入口为异常事件的入口地址 ;* -复位之后处理器为线程模式,优先级为特权级,堆栈设置为MSP主堆栈

ios申请真机调试( xcode 5)详细解析(转载)

目录[-] 第一步:申请"开发证书" 第二步:添加App IDs 第三步:申请设备 第四步:申请描述文件 第一步:申请"开发证书" 进入苹果开发者99美元账号: 选择:Certificates, Identifiers & Profiles 关于 Certificates,Identifiers,Profiles 的介绍请看 "Certificates, Identifiers ,Profiles" 选择:Certificates 选择:

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

iOS中对文件的操作

转自:http://marshal.easymorse.com/archives/3340 iOS中对文件的操作 因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除 在Do

APNS远程推送证书的申请和制作——详细解析

发表于6个月前(2014-08-04 17:57)   阅读(1708) | 评论(7) 4人收藏此文章, 我要收藏 赞3 摘要 我们的手机每天会被很多通知轰炸,那么,这些通知是怎么弄出来的呢,下面为大家详细解析 APNS 远程推送 目录[-] 一.远程推送的原理 二.在程序上注册远程通知 三.申请推送证书 1.申请本地证书: 2.在开发者网站上申请证书 四.申请描述文件(开发和发布描述文件) 五.为服务器制作证书 1.准备p12文件 2.将下载的证书制作成.pem 文件 3.将.p12 证书制

第七章、epub文件处理 -- 解析 .xhtml文件 (一)

第七章.epub文件处理 -- 解析 .xhtml文件 (一) 本章将介绍代码如何利用ZLTextPlainModel类来分别处理.xhtml文件中的文本信息与标签信息. 本章涉及的核心类是ZLTextPlainModel类.ZLTextWritablePlainModel类.CachedCharStorage类.XHTMLTagAction接口实现类 .xhtml文件中包含着两种信息:文本信息与标签信息.我们需要先正确解析出标签信息代表的结构,才能正确得将文本信息显示在屏幕上. 举个例子:(这

微信消息体签名及加解密功能详细解析以及.net实现

原文:微信消息体签名及加解密功能详细解析以及.net实现 前言 微信消息体签名及加密功能已上线,明文传输确实存在安全风险,鉴于微信的用户范围使用之广泛,必定会成为众矢之的.所以大家还是尽快接入安全模式为好.仔细阅读官方接入指南,发现这次安全升级只是涉及到用户在微信对话窗口中与公众好消息交互,所以此次升级还是比较简单的.下面为大家一一道来. 一.功能解析 微信消息体签名及加密功能已上线,出于安全考虑,强烈建议您尽快接入消息加密功能,消除安全风险.详见公告.公众平台接口调试工具已经全面支持消息体加密

iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析

iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析 浏览: 149 发布日期: 2016-10-19  分类: ios 最近在项目中接入了微信支付和支付宝支付,总的来说没有那么坑,很多人都说文档不全什么的,确实没有面面 俱到,但是认真一步一步测试下还是妥妥的,再配合懂得后台,效率也是很高的,看了这篇文章,你也只要几分钟, 就能轻松接入支付宝,在别人投来崇拜的眼光的同时,你就能潇洒的回一句,略懂略懂......   先给大家我写的微信支付,很详细哦,喜欢的点个赞点击打开微信支付链