summaryrefslogtreecommitdiff
path: root/rust/examples/template/src
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2023-12-05 13:05:44 -0500
committerKyleMiles <krm504@nyu.edu>2023-12-05 13:05:44 -0500
commitae144062dbdb047b924c2071a37a8154864cb07b (patch)
treebd4237b33e29dde60ae49ea60cef3e7d4a4abe54 /rust/examples/template/src
parentb02b6584f7da7d22c82f7d9839f55ea38e51de95 (diff)
Resolves #3714: Adds core initialization/shutdown wrapper object (to the Rust API) that you can initialize at the top of your script and it'll auto-cleanup at the end of your script. Also some misc doc fixes.
Diffstat (limited to 'rust/examples/template/src')
-rw-r--r--rust/examples/template/src/main.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/rust/examples/template/src/main.rs b/rust/examples/template/src/main.rs
index 20e082f2..5b21efb3 100644
--- a/rust/examples/template/src/main.rs
+++ b/rust/examples/template/src/main.rs
@@ -7,11 +7,13 @@ fn main() {
// This loads all the core architecture, platform, etc plugins
// Standalone executables probably need to call this, but plugins do not
println!("Loading plugins...");
- binaryninja::headless::init();
+ let headless_session = binaryninja::headless::Session::new();
// Your code here...
println!("Loading binary...");
- let bv = binaryninja::load("/bin/cat").expect("Couldn't open `/bin/cat`");
+ let bv = headless_session
+ .load("/bin/cat")
+ .expect("Couldn't open `/bin/cat`");
println!("Filename: `{}`", bv.file().filename());
println!("File size: `{:#x}`", bv.len());
@@ -37,7 +39,4 @@ fn main() {
}
}
}
-
- // Important! Standalone executables need to call shutdown or they will hang forever
- binaryninja::headless::shutdown();
}