Python Forensics - 基本取证应用程序


为了根据取证指南创建应用程序,了解并遵循其命名约定和模式非常重要。

命名约定

在Python取证应用程序的开发过程中,需要遵循的规则和约定如下表所示。

常数 大写字母下划线分隔 高温
局部变量名 带凹凸大写字母的小写字母(下划线可选) 当前温度
全局变量名 前缀 gl 小写字母,带凹凸大写(下划线可选) gl_maximumRecordedTemperature
函数名称 带凹凸大写字母的大写字母(可选下划线),带主动语态 将华氏度转换为摄氏度(...)
对象名称 带有凹凸大写的前缀 ob_ 小写 ob_myTempRecorder
模块 下划线后跟带凹凸大写字母的小写字母 _tempRecorder
类名 前缀 class_ 然后颠簸大写并保持简短 类_临时系统

让我们通过一个场景来了解命名约定在计算取证中的重要性。假设我们有一个通常用于加密数据的哈希算法。单向哈希算法将输入视为二进制数据流;这可以是密码、文件、二进制数据或任何数字数据。然后,散列算法根据输入中接收到的数据生成消息摘要(md)。

实际上不可能创建一个新的二进制输入来生成给定的消息摘要。即使二进制输入数据的一位,如果发生更改,也会生成一条与之前不同的唯一消息。

例子

看一下下面的示例程序,它遵循上述约定。

import sys, string, md5   # necessary libraries
print "Please enter your full name"
line = sys.stdin.readline()
line = line.rstrip()
md5_object = md5.new()
md5_object.update(line)
print md5_object.hexdigest()   # Prints the output as per the hashing algorithm i.e. md5
exit

上述程序产生以下输出。

命名约定示例

在此程序中,Python 脚本接受输入(您的全名)并根据 md5 哈希算法对其进行转换。如果需要,它会加密数据并保护信息。根据法医指南,证据名称或任何其他证据都可以通过这种模式得到保护。