Python取证 - 基本取证应用程序

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

命名约定

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

常量带下划线分隔的大写HIGH_TEMPERATURE
本地变量名称带有颠簸帽的小写(下划线是可选的)currentTemperature
全局变量名称前缀gl小写,带有颠簸的大写字母(下划线s是可选的)gl_maximumRecordedTemperature
函数名称带有颠簸帽的大写字母(下划线可选)主动语音ConvertFarenheitToCentigrade(...)
对象名称带有颠簸大写字母的前缀ob_小写ob_myTempRecorder
模块下划线后跟小写的凹凸不平的上限_ 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

上述程序生成以下输出.

命名约定示例

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