通过python获取苹果手机备份文件中的照片,视频等信息采集

前言:
苹果手机用户通常会将手机备份到电脑上,而备份文件通常不会自动删除。在我们电脑取证,或者***到一台电脑后可以通过python脚本获取到备份文件中的一些隐私信息,比如照片、视频、相关软件中的一些账号,联系信息等等。但是我们进入到备份文件目录,会发现文件都没有后缀名,而且很乱。似乎没有什么用。我们看到的如下:
备份目录(win7):C:\Users\你的用户名\AppData\Roaming\Apple Computer\MobileSync\Backup\

            在备份文件的根目录下有个Manifest.db文件,用数据库管理工具打开后如下:

  经过观察可以猜测fileID就是文件名,文件名的前面两个字符是所在文件夹的名称,如文件夹“12”,domain字段应该保存的是文件相关的软件信息,可以大致看出是哪个软件的文件。relativePath保存的是文件的原始路径信息和文件相关的内容。
        文件里还有很多sqlite的数据库文件,我们都可以通过这个库查出相关的文件,然后用fileID这个字段的值去备份文件夹中搜索出来,然后用数据库工具打开查看,也可以直接通过python脚本连接。

下图打开好像是大众点评的一个文件,里面有坐标信息,可以绘制用户的位置活动情况,其他信息类似获取

    通过调用百度地图等api可以获取到其坐标信息,好接下来看看怎么把照片、视频等从这些文件中分类出来吧。用到的库有filetype、getpass、os等。filetype是python判断文件名类型的库,getpass用来获取当前系统名、os python操作系统相关的库。通过遍历文件类型,将图片和视频复制到其他地方保存。

系统:win7 64位
python:3.6版本

import filetype
import os
import shutil
import getpass

def main():
#获取系统当前登陆用户名
username=getpass.getuser()
#苹果手机默认备份文件路径(win7系统下)
apple_bak_path=r"C:\Users{}\AppData\Roaming\Apple Computer\MobileSync\Backup".format(username)
#如果备份路径存在,则遍历文件夹下的所有文件
if os.path.exists(apple_bak_path):
g=os.walk(apple_bak_path)
for path,d,filelist in g:
for filename in filelist:
file=os.path.join(path,filename)
print(file)
#获取文件类型信息
kind = filetype.guess(file)
if kind is None:
print(‘Connot guess file type!‘)
#如果文件类型是jpg,则复制文件到其他地方
elif kind.extension==‘jpg‘:
print(filename)
shutil.copyfile(file,‘d:\new\jpg\{}.jpg‘.format(filename))
#如果文件类型是MP4,则复制文件到其他地方
elif kind.extension==‘mp4‘:
shutil.copyfile(file,‘d:\new\mp4\{}.mp4‘.format(filename))
else:
print("没有发现苹果手机备份文件!")

if name == ‘main‘:
main()

其他文件类型类似操作,手机中的其他信息感兴趣的朋友可以继续挖掘。

原文地址:http://blog.51cto.com/hackyao/2309551

时间: 2024-07-31 10:53:29

通过python获取苹果手机备份文件中的照片,视频等信息采集的相关文章

获取某一个相册中所有照片和照片的缩略图

- (void)loadAssets { // Initialise _assets = [NSMutableArray new]; _assetLibrary = [[ALAssetsLibrary alloc] init]; // Run in the background as it takes a while to get all assets from the library dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE

Python 获取Facebook用户的Friends的爱好中的Top10

CODE; #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-12 @author: guaguastd @name: friends_popular_likes.py ''' # impot login from login import facebook_login # import helper from helper import pp # calculating the most popular likes

Python 获取Facebook用户Friends的爱好类别中的Top10

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-12 @author: guaguastd @name: friends_popular_category.py ''' # impot login from login import facebook_login # import helper #from helper import pp # calculating the most popular ca

python获取原图GPS位置信息,轻松得到你的活动轨迹

一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据,如拍摄时间.图像分辨率.感光值.GPS坐标等. Exif最初由日本电子工业发展协会在1996年制定,版本为1.0.1998年,升级到2.1,增加了对音频文件的支持.2002年3月,发表了2.2版. Exif可以附加于JPEG.TIFF.RIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件

Python网络编程小例子:使用python获取网站域名信息

Whois简介 whois(读作"Who is",非缩写)是用来查询域名的IP以及所有者等信息的传输协议.简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商).通过whois来实现对域名信息的查询.早期的whois查询多以命令列接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询.网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令列接口的工具仍然被系统管理员广泛使用.whois通常

Python获取当地的天气和任意城市的天气

先从中国天气网得到数据('http://www.weather.com.cn/data/cityinfo/'+城市编码),每个城市都有各自的编码,如何得到用户所在地的城市编码呢?用一个网页就是专门干这个的!http://61.4.185.48:81/g/ 附录:所有城市的编码 101010100=北京 101010200=海淀 101010300=朝阳 101010400=顺义 101010500=怀柔 101010600=通州 101010700=昌平 101010800=延庆 1010109

Python 获取接口数据,解析JSON,写入文件

Python 获取接口数据,解析JSON,写入文件 用于练手的例子,从国家气象局接口上获取JSON数据,将它写入文件中,并解析JSON: 总的来说,在代码量上,python代码量要比java少很多.而且python看起来更直观一些: 以下是代码: import types import urllib2 import json duan ="--------------------------" #在控制台断行区别的 #利用urllib2获取网络数据 def registerUrl():

Python获取网卡信息(名称、MAC、IP、网关等)

"人生苦短,我用Python".Python的高效有一部分是跟它丰富的模块分不开的.Python有很多第三方模块可以帮助我们完成一些事情,减少开发时间. Python pypi库中一个模块名字叫"netifaces",使用C语言写的一个第三方模块.可以: 1.获取本机的所有网关 2.获取本机所有的接口Interface(网卡NIC) 3.获取本机指定接口的详细信息,包括IP地址.子网掩码.广播地址.MAC地址等 不过遗憾的是这个模块的功能太有限以及会带出一些令人困惑

Python 获取当前系统的时间

python 获取当前时间 我有的时候写程序要用到当前时间,我就想用python去取当前的时间,虽然不是很难,但是老是忘记,用一次丢一次,为了能够更好的记住,我今天特意写下python 当前时间这篇文章,如果你觉的对你有用的话,可以收藏下. 取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间. 你可以试下下面的方式来取得当前时间