Python取证 - Python成像库

从可用资源中提取有价值的信息是数字取证的重要组成部分.获取所有可用信息对于调查过程至关重要,因为它有助于检索适当的证据.

包含数据的资源可以是简单的数据结构,如数据库或复杂的数据结构,如作为JPEG图像.使用简单的桌面工具可以轻松访问简单的数据结构,而从复杂的数据结构中提取信息需要复杂的编程工具.

Python成像库

Python Imaging Library(PIL)为Python解释器添加了图像处理功能.该库支持多种文件格式,并提供强大的图像处理和图形功能.您可以从 : 下载PIL的源文件;  http://www.pythonware.com/products/pil/

下图显示了从PIL中的图像(复杂数据结构)中提取数据的完整流程图.

Python Imaging Library

示例

现在,让我们有一个编程示例来了解它是如何工作的.

第1步 : 假设我们有需要提取信息的下图.

Python Imaging Library Step1

第2步 : 当我们使用PIL打开此图像时,它将首先记录提取证据所需的必要点,其中包括各种像素值.下面是打开图像并记录其像素值的代码 :

from PIL import Image
im = Image.open('Capture.jpeg', 'r')
pix_val = list(im.getdata())
pix_val_flat = [x for sets in pix_val for x in sets]
print pix_val_flat

第3步 : 在提取图像的像素值之后,我们的代码将产生以下输出.

Python Imaging Library Step3

传递的输出表示RGB组合的像素值,可以更好地了解证据所需的数据.获取的数据以数组的形式表示.