Python取证基本取证应用程序


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

命名约定


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

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

让我们通过一个场景来了解计算取证中命名约定的重要性。假设我们有一个通常用于加密数据的散列算法。单向哈希算法将输入作为二进制数据流;这可以是密码、文件、二进制数据或任何数字数据。然后散列算法产生一个 信息摘要 (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

上述程序产生以下输出。

Naming Convention 例子

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