appkey/
appkey.rs

1use std::path::Path;
2
3use registry::{Hive, RegKey, Security};
4
5fn main() -> Result<(), std::io::Error> {
6    let hive_key = Hive::load_file(
7        Path::new(r"C:\Users\Default\NTUSER.DAT"),
8        Security::Read | Security::Write,
9    )
10    .unwrap();
11
12    walk_keys(hive_key, 0);
13    Ok(())
14}
15
16fn walk_keys(key: RegKey, tabstop: i32) {
17    for _ in 0..tabstop {
18        print!("\t");
19    }
20    println!("{}", key.to_string());
21
22    for subkey in key.keys() {
23        let subkey = subkey.unwrap().open(Security::Read).unwrap();
24        walk_keys(subkey, tabstop + 1);
25    }
26}