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}