summaryrefslogtreecommitdiff
path: root/rust/examples/basic_script
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/basic_script
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/basic_script')
-rw-r--r--rust/examples/basic_script/src/main.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/rust/examples/basic_script/src/main.rs b/rust/examples/basic_script/src/main.rs
index 85187747..b979c156 100644
--- a/rust/examples/basic_script/src/main.rs
+++ b/rust/examples/basic_script/src/main.rs
@@ -3,10 +3,12 @@ use binaryninja::binaryview::{BinaryViewBase, BinaryViewExt};
fn main() {
println!("Loading plugins..."); // This loads all the core architecture, platform, etc plugins
- binaryninja::headless::init();
+ let headless_session = binaryninja::headless::Session::new();
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());
@@ -32,7 +34,4 @@ fn main() {
}
}
}
-
- // Important! You need to call shutdown or your script will hang forever
- binaryninja::headless::shutdown();
}