1
2
3
4
6 """Choose analysis package due to file type and file extension.
7 @param file_type: file type.
8 @return: package or None.
9 """
10 if not file_type:
11 return None
12
13 file_name = file_name.lower()
14
15 if "DLL" in file_type:
16 return "dll"
17 elif "PE32" in file_type or "MS-DOS" in file_type:
18 return "exe"
19 elif "PDF" in file_type or file_name.endswith(".pdf"):
20 return "pdf"
21 elif "Rich Text Format" in file_type or \
22 "Microsoft Word" in file_type or \
23 "Microsoft Office Word" in file_type or \
24 ("Composite Document File" in file_type and not "Installer" in file_type) or \
25 file_name.endswith(".docx") or \
26 file_name.endswith(".doc") or \
27 file_name.endswith(".rtf"):
28 return "doc"
29 elif "Microsoft Office Excel" in file_type or file_name.endswith(".xlsx") or file_name.endswith(".xls"):
30 return "xls"
31 elif "HTML" in file_type or file_name.endswith(".htm") or file_name.endswith(".html"):
32 return "html"
33 elif file_name.endswith(".jar"):
34 return "jar"
35 elif "Zip" in file_type:
36 return "zip"
37 else:
38 return "generic"
39