mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
Make tskdbdiff.py handle attr value types correctly
This commit is contained in:
parent
c52929c017
commit
6893e1c35b
@ -208,7 +208,7 @@ class TskDbDiff(object):
|
||||
try:
|
||||
art_id = ""
|
||||
art_id = str(row["artifact_id"])
|
||||
attribute_cursor.execute("SELECT blackboard_attributes.source, blackboard_attribute_types.display_name, blackboard_attributes.value_type, blackboard_attributes.value_text, blackboard_attributes.value_int32, blackboard_attributes.value_int64, blackboard_attributes.value_double FROM blackboard_attributes INNER JOIN blackboard_attribute_types ON blackboard_attributes.attribute_type_id = blackboard_attribute_types.attribute_type_id WHERE artifact_id =? ORDER BY blackboard_attributes.source, blackboard_attribute_types.display_name, blackboard_attributes.value_type, blackboard_attributes.value_text, blackboard_attributes.value_int32, blackboard_attributes.value_int64, blackboard_attributes.value_double", [art_id])
|
||||
attribute_cursor.execute("SELECT blackboard_attributes.source, blackboard_attribute_types.display_name, blackboard_attributes.value_type, blackboard_attributes.value_text, blackboard_attributes.value_int32, blackboard_attributes.value_int64, blackboard_attributes.value_double, blackboard_attributes.value_byte FROM blackboard_attributes INNER JOIN blackboard_attribute_types ON blackboard_attributes.attribute_type_id = blackboard_attribute_types.attribute_type_id WHERE artifact_id =? ORDER BY blackboard_attributes.source, blackboard_attribute_types.display_name, blackboard_attributes.value_type, blackboard_attributes.value_text, blackboard_attributes.value_int32, blackboard_attributes.value_int64, blackboard_attributes.value_double", [art_id])
|
||||
attributes = attribute_cursor.fetchall()
|
||||
|
||||
# Print attributes
|
||||
@ -220,7 +220,6 @@ class TskDbDiff(object):
|
||||
|
||||
src = attributes[0][0]
|
||||
for attr in attributes:
|
||||
attr_value_index = 3 + attr["value_type"]
|
||||
numvals = 0
|
||||
for x in range(3, 6):
|
||||
if(attr[x] != None):
|
||||
@ -232,11 +231,20 @@ class TskDbDiff(object):
|
||||
msg = "There were inconsistent sources for artifact with id #" + str(row["artifact_id"]) + ".\n"
|
||||
|
||||
try:
|
||||
attr_value_as_string = str(attr[attr_value_index])
|
||||
if attr["value_type"] == 0:
|
||||
attr_value_as_string = str(attr["value_text"])
|
||||
elif attr["value_type"] == 1:
|
||||
attr_value_as_string = str(attr["value_int32"])
|
||||
elif attr["value_type"] == 2:
|
||||
attr_value_as_string = str(attr["value_int64"])
|
||||
elif attr["value_type"] == 3:
|
||||
attr_value_as_string = str(attr["value_double"])
|
||||
elif attr["value_type"] == 4:
|
||||
attr_value_as_string = "bytes"
|
||||
elif attr["value_type"] == 5:
|
||||
attr_value_as_string = str(attr["value_int64"])
|
||||
if attr["display_name"] == "Associated Artifact":
|
||||
attr_value_as_string = getAssociatedArtifactType(db_file, attr_value_as_string)
|
||||
#if((type(attr_value_as_string) != 'unicode') or (type(attr_value_as_string) != 'str')):
|
||||
# attr_value_as_string = str(attr_value_as_string)
|
||||
attr_value_as_string = getAssociatedArtifactType(db_file, attr_value_as_string)
|
||||
patrn = re.compile("[\n\0\a\b\r\f]")
|
||||
attr_value_as_string = re.sub(patrn, ' ', attr_value_as_string)
|
||||
database_log.write('<attribute source="' + attr["source"] + '" type="' + attr["display_name"] + '" value="' + attr_value_as_string + '" />')
|
||||
|
Loading…
x
Reference in New Issue
Block a user