KAPE 0.9.2.0 发布!
公告!
KAPE 已获得4Cast年度非商业软件奖提名!请花18.5秒为KAPE投票!=)
https://forensic4cast.com/forensic-4cast-awards/2020-forensic-4cast-awards/
公告结束!
注意:如果在更新或使用–sync时遇到奇怪错误,请使用–debug选项查看导致问题的文件。对大多数人来说,只需删除有问题的文件即可解决。最坏情况下,只需删除本地KAPE安装并重新下载。
变更日志
- 移除目标定义中的IsDirectory属性。官方仓库之外的所有现有目标都需要调整
- 在目标定义中,Path现在始终假定为目录。这意味着它不应包含像*.pf这样的通配符。这些应移至FileMask属性。所有官方目标都已更新以反映此变化
- FileMask仍然是可选的。如果未指定,则假定为*,将匹配Path下的所有文件
- 在目标定义中,Recursive是可选的。如果缺失,则假定为false。清理了现有设置为Recursive: false的目标(删除属性)
- 清理了目标中的空注释并删除它们
- 清理了目标中的Path属性(按照惯例,路径应以\结尾。这不是必需的,但使路径内容更清晰)
- 添加了在目标定义中引用Targets下子目录的能力。示例:要引入Targets\Antivirus下的所有目标,使用Path: Antivirus*
- 允许在目标FileMask规范中使用正则表达式。示例:FileMask: regex:(2019|DSC|Log).+.(jpg|txt) 告诉KAPE使用正则表达式匹配完整文件名。KAPE将在正则表达式开头添加\A,在结尾添加\z,以确保匹配整个文件名
- 由于上述更改,现在也可以在非基于正则表达式的FileMask中执行操作。示例:FileMask: ‘Foo*.VHD’。在此更改之前,只能使用*.VHD
- 在模块定义中添加了WaitTimeout作为可选属性。当存在且大于0时,表示KAPE应等待模块完成的分钟数。如果超过此时间,KAPE将停止等待并继续执行
- 更新了nuget包
- 更新了目标
目标定义变更
此版本清理了许多与目标文件相关的内容。具体来说,已移除IsDirectory属性。这意味着Path现在始终预期为目录。
以下是旧格式的示例:
|
|
与相同目标的新格式对比:
|
|
如果省略FileMask,则假定为*,将匹配Path下的所有内容。
对于0.9.2.0,我审查了每个现有目标并执行了以下操作:
- 移除IsDirectory
- 如果Path包含文件掩码,则将Path更新为仅目录
- 将文件掩码移至FileMask属性
- 从所有目标中移除Recursive: false(因为它是默认值)
- 删除空注释
按照惯例,Path属性应以\结尾以保持一致性,但这不是强制性的(但我认为这使理解正在发生的事情更容易)。
此版本中的新功能
此版本中还提供了大大改进的FileMask功能。实际上,您现在可以使用完整的正则表达式以及更传统的文件掩码,如*.jpg或Foo*bar.txt。
这意味着,对于所有现有目标,无需更改任何内容,因为旧方法仍然有效。如果要对整个文件名进行正则表达式匹配,请在Filemask前加上regex:,如下所示:
|
|
这在使用文件系统查找某些扩展名时提供了几乎无限的灵活性。通过以regex格式添加单个条目,文件系统将进行单次传递,而不是每个文件掩码一次传递。您在这里获得多少时间当然取决于其他几个因素,但拥有这个选项很好!
最后,对于复合目标,如果您希望动态包含该目录下的所有目标文件,现在可以引用Targets文件夹下的目录。示例:
|
|
这告诉KAPE查找Targets\Antivirus文件夹下的任何tkape文件并将它们包含在复合目标中。通过命令行使用–targets选项中的目录名称,这已经可能很长时间了,但这使得可以在目标文件中指定它们。
模块定义变更
Troy Larson要求KAPE能够等待模块预定的时间,而不是让失控的模块无限期运行。
为了满足此要求,在模块头中添加了可选的WaitTimeout值,如下所示:
|
|
此值指定为等待的分钟数。在上面的示例中,AppWithTimeout将睡眠5分钟,但KAPE只会等待1分钟让它完成。当使用此模块运行KAPE时,会发生以下情况:
|
|
如果未指定超时,KAPE将永远等待模块完成。