Python 取证 - Python 概述


用 Python 编写的代码看起来与用其他传统编程语言(例如 C 或 Pascal)编写的代码非常相似。也有人说Python的语法大量借鉴了C语言,其中包括许多与C语言类似的Python关键字。

Python 包含条件语句和循环语句,可用于准确提取数据以进行取证。对于流程控制,它提供if/elsewhile以及循环任何“可迭代”对象的高级for语句。

if a < b: 
   max = b 
else: 
   max = a

Python 与其他编程语言的主要区别在于它使用动态类型。它使用引用对象的变量名称。这些变量不需要声明。

数据类型

Python 包含一组内置数据类型,例如字符串、布尔值、数字等。还有不可变类型,这意味着在执行过程中不能更改值。

Python 还具有复合内置数据类型,其中包括作为不可变数组的元组、作为哈希表的列表字典。所有这些都用于数字取证,以在收集证据的同时存储值。

第三方模块和软件包

Python 支持模块和/或包组,这些模块和/或包也称为第三方模块(相关代码组合在一个源文件中),用于组织程序。

Python 包含一个广泛的标准库,这是它在计算取证中流行的主要原因之一。

Python代码的生命周期

  • 首先,当您执行Python代码时,解释器会检查代码是否有语法错误。如果解释器发现任何语法错误,则会立即将其显示为错误消息。

  • 如果没有语法错误,则代码将被编译以生成字节码并发送到 PVM(Python 虚拟机)。

  • PVM 检查字节码是否有任何运行时或逻辑错误。如果 PVM 发现任何运行时错误,则会立即将其报告为错误消息。

  • 如果字节码没有错误,则代码将被处理并获得其输出。

下图以图形方式显示了 Python 代码如何首先被解释以生成字节码,以及 PVM 如何处理字节码以生成输出。

Python 代码生命周期