9 个版本
0.4.5 | 2023年5月8日 |
---|---|
0.4.4 | 2022年11月18日 |
0.4.3 | 2022年2月8日 |
0.3.0 | 2021年12月24日 |
0.1.0 | 2021年10月20日 |
#1781 in 解析器实现
在 mft2bodyfile 中使用
36KB
432 行
usnjrnl
解析 Windows $UsnJrnl 文件
此crate包含一个库和一个二进制文件。如果您只想在crate中使用库,请在您的 Cargo.toml
中使用 default-features=false
[dependencies]
usnjrnl = {version="0.3.0", default-features=false }
安装
cargo install usnjrnl
使用
usnjrnl_dump
二进制文件
USAGE:
usnjrnl_dump [FLAGS] <USNJRNL_FILE>
FLAGS:
-b, --bodyfile output as bodyfile instead of JSON
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<USNJRNL_FILE> path to $UsnJrnl:$J file (file ending with .gz will be treated as being gzipped)
我建议始终将 MFT 条目号与真实 $MFT
文件中的条目相关联。这可以通过 https://github.com/janstarke/mft2bodyfile 自动完成。
usnjrnl
库
use usnjrnl::{UsnJrnlReader, CommonUsnRecord, UsnRecordData};
let reader = UsnJrnlReader::from("$UsnJrnl:$J")?;
for entry in reader.into_iter() {
match entry {
Ok(e) => {
println!("{}: {}",
e.data.filename(),
e.data.reasons();
}
Err(why) => {
log::error!("{}", why);
}
}
}
依赖项
~11–22MB
~278K SLoC