Python取证 - Python图像库



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

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

Python图像库

Python图像库(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组合的像素值,这可以更好地了解证据所需的数据。获取的数据以数组的形式表示。

广告