summaryrefslogtreecommitdiff
path: root/plugins/warp/src/plugin.rs
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2026-03-13 12:24:18 -0700
committerMason Reed <35282038+emesare@users.noreply.github.com>2026-03-24 18:46:48 -0700
commit3c88b11e5df33116580ac008e36092775df66135 (patch)
treecd64fbe149f05683ddabcccd0db7b87356f1f8cf /plugins/warp/src/plugin.rs
parentf325aa7b6026a1daef84931baeb1f50d7da10c10 (diff)
[WARP] Improved UX and API
- Exposes WARP type objects directly - Adds processor API (for generating warp files directly) - Adds file and chunk API - Misc cleanup - Simplified the amount of commands - Replaced the "Create" commands with a purpose built processor dialog - Added a native QT viewer for WARP files - Simplified committing to a remote with a purpose built commit dialog
Diffstat (limited to 'plugins/warp/src/plugin.rs')
-rw-r--r--plugins/warp/src/plugin.rs77
1 files changed, 2 insertions, 75 deletions
diff --git a/plugins/warp/src/plugin.rs b/plugins/warp/src/plugin.rs
index d163205b..8192102d 100644
--- a/plugins/warp/src/plugin.rs
+++ b/plugins/warp/src/plugin.rs
@@ -9,27 +9,17 @@ use crate::plugin::render_layer::HighlightRenderLayer;
use crate::plugin::settings::PluginSettings;
use crate::{core_signature_dir, user_signature_dir};
use binaryninja::background_task::BackgroundTask;
-use binaryninja::command::{
- register_command, register_command_for_function, register_command_for_project,
- register_global_command,
-};
+use binaryninja::command::{register_command, register_command_for_function};
use binaryninja::is_ui_enabled;
use binaryninja::settings::{QueryOptions, Settings};
-mod commit;
-mod create;
mod ffi;
-mod file;
mod function;
mod load;
-mod project;
mod render_layer;
mod settings;
mod workflow;
-#[cfg(debug_assertions)]
-mod debug;
-
fn load_bundled_signatures() {
let global_bn_settings = Settings::new();
let plugin_settings =
@@ -166,39 +156,12 @@ fn plugin_init() -> bool {
workflow::RunMatcher {},
);
- #[cfg(debug_assertions)]
- register_command(
- "WARP\\Debug\\Cache",
- "Debug cache sizes... because...",
- debug::DebugCache {},
- );
-
- #[cfg(debug_assertions)]
- register_command(
- "WARP\\Debug\\Invalidate Caches",
- "Invalidate all WARP caches",
- debug::DebugInvalidateCache {},
- );
-
- #[cfg(debug_assertions)]
- register_command_for_function(
- "WARP\\Debug\\Function Signature",
- "Print the entire signature for the function",
- debug::DebugFunction {},
- );
-
register_command(
"WARP\\Load File",
- "Load file into the matcher, this does NOT kick off matcher analysis",
+ "Load WARP file",
load::LoadSignatureFile {},
);
- register_global_command(
- "WARP\\Commit File",
- "Commit file to a source",
- commit::CommitFile {},
- );
-
register_command_for_function(
"WARP\\Include Function",
"Add current function to the list of functions to add to the signature file",
@@ -217,42 +180,6 @@ fn plugin_init() -> bool {
function::RemoveFunction {},
);
- register_command_for_function(
- "WARP\\Copy GUID",
- "Copy the computed GUID for the function",
- function::CopyFunctionGUID {},
- );
-
- register_command(
- "WARP\\Find GUID",
- "Locate the function in the view using a GUID",
- function::FindFunctionFromGUID {},
- );
-
- register_command(
- "WARP\\Create\\From Current View",
- "Creates a signature file containing all selected functions",
- create::CreateFromCurrentView {},
- );
-
- register_global_command(
- "WARP\\Create\\From File(s)",
- "Creates a signature file containing all selected functions",
- create::CreateFromFiles {},
- );
-
- register_command(
- "WARP\\Show Report",
- "Creates a report for the selected file, displaying info on functions and types",
- file::ShowFileReport {},
- );
-
- register_command_for_project(
- "WARP\\Create\\From Project",
- "Create signature files from select project files",
- project::CreateSignatures {},
- );
-
true
}