enc_oneliner/
enc_oneliner.rs1use ps_parser::PowerShellSession;
2
3fn main() {
4 let Some(path) = std::env::args().nth(1) else {
5 eprintln!("usage: cargo run --example enc_oneliner -- <script.ps1>");
6 std::process::exit(1);
7 };
8 let script = std::fs::read_to_string(path).unwrap();
9
10 println!("=== parse_command ===");
11 match PowerShellSession::new().parse_command(script.trim()) {
12 Ok(res) => println!("deob:\n{}\nout:\n{}", res.deobfuscated(), res.output()),
13 Err(e) => println!("error: {e:?}"),
14 }
15
16 println!("=== parse_script ===");
17 match PowerShellSession::new().parse_script(script.trim()) {
18 Ok(res) => println!("deob:\n{}\nout:\n{}", res.deobfuscated(), res.output()),
19 Err(e) => println!("error: {e:?}"),
20 }
21}