diff options
| author | Mason Reed <mason@vector35.com> | 2025-10-22 02:09:10 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-10-22 14:51:07 -0400 |
| commit | 551738c693b52b8c383eab629fbc9d81d04d4c4b (patch) | |
| tree | c2da8e1ebc3f69715ec8710f89f1c23241d4ac10 /plugins/warp/demo | |
| parent | 5ae046509bb7c5c0a5c338793ebc3902820ac9e7 (diff) | |
Add more plugins to free
Adds WARP, DWARF Import and Objective-C plugins to free
Diffstat (limited to 'plugins/warp/demo')
| -rw-r--r-- | plugins/warp/demo/Cargo.toml | 45 | ||||
| -rw-r--r-- | plugins/warp/demo/build.rs | 29 |
2 files changed, 74 insertions, 0 deletions
diff --git a/plugins/warp/demo/Cargo.toml b/plugins/warp/demo/Cargo.toml new file mode 100644 index 00000000..8e1070e3 --- /dev/null +++ b/plugins/warp/demo/Cargo.toml @@ -0,0 +1,45 @@ +[package] +name = "warp_ninja-static" +version = "0.1.0" +edition = "2021" +license = "Apache-2.0" + +[lib] +crate-type = ["lib", "staticlib"] +path = "../src/lib.rs" + +[features] +demo = [] + +[dependencies] +binaryninja = { workspace = true, features = ["rayon", "demo"] } +binaryninjacore-sys.workspace = true +warp = { git = "https://github.com/Vector35/warp/", tag = "1.0.0" } +log = "0.4" +itertools = "0.14.0" +dashmap = { version = "6.1", features = ["rayon"]} +rayon = "1.10" +arboard = "3.4" +walkdir = "2.5" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +uuid = { version = "1.12.0", features = ["v4", "serde"] } +thiserror = "2.0" +ar = { git = "https://github.com/mdsteele/rust-ar" } +tempdir = "0.3.7" +regex = "1.11" +directories = "6.0" +compact_str = { version = "0.9.0", features = ["serde"] } +base64 = "0.22" +serde_qs = "0.15" + +# For reports +minijinja = "2.10.2" +minijinja-embed = "2.10.2" + +[build-dependencies] +minijinja-embed = "2.10.2" + +[dev-dependencies] +criterion = "0.6" +insta = { version = "1.42", features = ["yaml"] } diff --git a/plugins/warp/demo/build.rs b/plugins/warp/demo/build.rs new file mode 100644 index 00000000..d0912f90 --- /dev/null +++ b/plugins/warp/demo/build.rs @@ -0,0 +1,29 @@ +fn main() { + let link_path = std::env::var_os("DEP_BINARYNINJACORE_PATH") + .expect("DEP_BINARYNINJACORE_PATH not specified"); + + println!("cargo::rustc-link-lib=dylib=binaryninjacore"); + println!("cargo::rustc-link-search={}", link_path.to_str().unwrap()); + + #[cfg(not(target_os = "windows"))] + { + println!( + "cargo::rustc-link-arg=-Wl,-rpath,{0},-L{0}", + link_path.to_string_lossy() + ); + } + + #[cfg(target_os = "macos")] + { + let crate_name = std::env::var("CARGO_PKG_NAME").expect("CARGO_PKG_NAME not set"); + let lib_name = crate_name.replace('-', "_"); + println!( + "cargo::rustc-link-arg=-Wl,-install_name,@rpath/lib{}.dylib", + lib_name + ); + } + + println!("cargo::rerun-if-changed=../src/templates"); + // Templates used for rendering reports. + minijinja_embed::embed_templates!("../src/templates"); +} |
