IOS 设备备份文件详解 (一)
IOS设备如果没有越狱的话想获取一些敏感的信息还是有写复杂的,比如获取上网信息,短信,通话记录等等这些,但是有一个通用的方法可以获取到这些信息,那就是IOS 设备的备份功能。文章不涉及如何备份以及恢复的原理,这里详细讲解一下IOS 备份之后的文件。先看第一张图IOS 备份下来的文件
打开备份的目录可以看到里面有很多的文件,一大堆40个字符组成的文件名,还有4个其他的文件。
1) 40个字符组成的文件名其实是IOS 设备上该文件的一个域+路径然后做的一个SHA1得出来的。
比如IOS 设备上的路径 /var/mobile/Applications/cairot/Library/Preferences。他的域 AppDomain-,路径为/Library/Preferences, 这两个组合在一起 AppDomain-Library/Preferences,然后做一个SHA1得到一个40位的文件名。 聪明的你肯定就会想到,如果备份多次的话,文件名很多都是一样的。
2) Info.Plist ,一般情况这个文件是明文的,里面记录了备份的信息,比如设备名字,IOS 版本,型号,备份日期等等,当然还有几个很重要的文件。 IC-Info.sidv ,iTunesPrefs.plist
3) Manifest.mbdb
这个文件里面保存了基本上所有的备份文件的信息,比如上面那一坨40个数字的文件名文件到底和设备上的哪个文件相对应。这个文件需要一定的格式才能解析出来。 下一讲将会详细讲解这个文件的格式
4) Manifest.plist
这个文件是一个二进制的plist 文件,主要是保存了设备上安装的应用信息,还有一些其他的辅助信息。还原成明文xml形式如下
展开Applications 节点如下
4) Status.plist
从名字可以看出这个文件是保存了备份的状态,也是一个二进制的plist 文件。翻译成明文
转让Android,IOS 手机助手各种技术资料,文档,以及源码,有需要的可以联系我QQ: 2506314894
IOS 设备备份文件详解 (一)的更多相关文章
- IOS 设备备份文件详解 (二)
这篇主要讲解如何解析Manifest.mbdb文件. 使用二进制工具打开这个文件,文件的头6个字节是固定的,相当于是文件的一种标识 后面的内容是一个一个的项,可以使用一个循环来读取文件,一个一个解析. ...
- iOS应用开发详解
<iOS应用开发详解> 基本信息 作者: 郭宏志 出版社:电子工业出版社 ISBN:9787121207075 上架时间:2013-6-28 出版日期:2013 年7月 开本:16开 ...
- 了解iOS消息推送一文就够:史上最全iOS Push技术详解
本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表. 1.引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ.微信等IM界面处于前台时,聊天消息和指 ...
- iOS开发者证书-详解
iOS开发者证书-详解/生成/使用 本文假设你已经有一些基本的Xcode开发经验, 并注册了iOS开发者账号. 相关基础 加密算法 现代密码学中, 主要有两种加密算法: 对称密钥加密 和 公开密钥加密 ...
- 转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )
原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理 ...
- iOS中-Qutarz2D详解及使用
在iOS中Qutarz2D 详解及使用 (一)初识 介绍 Quartz 2D是二维绘图引擎. 能完成的工作有: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成 ...
- iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...
- iOS开发——Block详解
iOS开发--Block详解 1. Block是什么 代码块 匿名函数 闭包--能够读取其他函数内部变量的函数 函数变量 实现基于指针和函数指针 实现回调的机制 Block是一个非常有特色的语法,它可 ...
- iOS开发:详解Objective-C runTime
Objective-C总Runtime的那点事儿(一)消息机制 最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题.当然还有一些其他问题也几乎 ...
随机推荐
- django之创建第5个项目-条件语句
1.index <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- std::accumulate使用的一个小细节
今天使用std::accumulate模板函数的时候出现了一个错误,特此记录一下. #include <iostream> #include <numeric> int mai ...
- RHEL7-openldap安装配置一(服务器端安装配置)
LDAP的术语:entry:一个单独的单元,使用DN(distinguish name)区别attribute:entry的属性,比如,如果entry是组织机构的话,那么它的属性包括地址,电话,传真号 ...
- input文本框在div中居中
{display:block;margin-left:auto;margin-right:auto;}
- 详解SpringMVC中Controller的方法中参数的工作原理——基于maven
转自:http://www.tuicool.com/articles/F7byQn 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:ht ...
- PIL笔记
图片颜色的类型 1 (1-bit pixels, black and white, stored with one pixel per byte) L (8-bit pixels, black and ...
- django日志使用TimeRotateFileHandler
如果使用django的settings.py设置日志会产生一些问题. 问题描述 报错信息如下: Traceback (most recent call last): File "C:\Pyt ...
- atime,mtime,ctime 的理解
Linux之atime,mtime,ctime from:http://blog.sina.com.cn/s/blog_5980699f0100zkgz.html 首先可以使用stat 命令来查询文件 ...
- 查看linux设备文件系统类型的方法
网络上找来找去没有找到简单的,最后翻了鸟哥的书就找到了,鸟哥的书还是真的有用心写的. /proc/filesystems 当前被内核支持的文件系统类型列表文件 /etc/filesystems 系统已 ...
- 【Struts2】Struts2与Spring整合后,如何指定Action为多例模式
Strust2默认是多例的,但是Spring默认是单例的,在进行Spring+Strust2整合的时候,就需要把Spring管理的action指定为多例模式,只需要在action上面加上@Scope( ...