前言:
苹果手机用户通常会将手机备份到电脑上,而备份文件通常不会自动删除。在我们电脑取证,或者***到一台电脑后可以通过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