Skip to main content

set_telemetry_callback

Function set_telemetry_callback 

Source
pub fn set_telemetry_callback(cb: Box<dyn TelemetryEvent>)
Examples found in repository?
examples/demo.rs (line 38)
33fn main() {
34    // 1. Set up logging at INFO level
35    env_logger::builder().filter_level(LevelFilter::Info).init();
36
37    // 2. Register a telemetry callback for event monitoring
38    set_telemetry_callback(Box::new(ConsoleTelemetry));
39
40    // 3. Load configuration file if present (e.g., `config.toml` in project root)
41    let config = FrameworkConfig::from_file("config.toml");
42    println!("Loaded configuration: {:?}", config);
43
44    // 4. Prepare a default context for stages (no payload, empty metadata)
45    let ctx = StageContext { payload: None, metadata: Default::default() };
46
47    // 5. Demonstrate persistence stage chain
48    println!("--> Running persistence chain...");
49    let _ = run_persistence_chain(&["RegistryRunKeys", "ScheduledTasks"]);
50
51    // 6. Demonstrate execution stage chain
52    println!("--> Running execution chain...");
53    let _ = run_execution_chain(&["ClassicProcessInjection", "MappingInjection"]);
54
55    // 7. Demonstrate C2 stage chain
56    println!("--> Running C2 chain...");
57    let _ = run_c2_chain(&["HTTPSCommunication", "DNSTunneling"]);
58
59    // 8. Demonstrate anti-analysis stage chain
60    println!("--> Running anti-analysis chain...");
61    let _ = run_anti_analysis_chain(&["AntiDebugging", "VMDetection"]);
62
63    println!("Demo completed successfully.");
64}