summaryrefslogtreecommitdiff
path: root/plugins/warp/README.md
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-11-03 20:10:58 -0500
committerMason Reed <mason@vector35.com>2025-11-04 13:34:46 -0500
commitcc742d95264d1fb1ead1b5fbea0a1dc0b06b6d23 (patch)
treec33d41ef0b7f0762fcd55f364dd60fc1394b8937 /plugins/warp/README.md
parentbe78ae60cb0e718227c1391b6fa46543656020cc (diff)
[WARP] Add example of batch processing using the headless Rust API
Diffstat (limited to 'plugins/warp/README.md')
-rw-r--r--plugins/warp/README.md41
1 files changed, 2 insertions, 39 deletions
diff --git a/plugins/warp/README.md b/plugins/warp/README.md
index 6506a7c3..d1193a9e 100644
--- a/plugins/warp/README.md
+++ b/plugins/warp/README.md
@@ -2,43 +2,6 @@
Provides integration with [WARP](https://github.com/Vector35/warp), more specifically the function identification and associated type information.
-## Batch Processing
+## Documentation
-`sigem` (see code at `src/bin/sigem.rs`) allows for batch processing binaries for signature generation.
-
-The only real "magic" here is the cross-linking of symbols in archives, this means that static libraries will have much finer constraint matching.
-
-Duplicate functions will be removed to save space, any input will always produce a single output signature file, if you want separate signature files, invoke individually.
-
-### Building
-
-> Assuming you have the following:
-> - A compatible Binary Ninja with headless usage (see [this documentation](https://docs.binary.ninja/dev/batch.html#batch-processing-and-other-automation-tips) for more information)
-> - Clang
-> - Rust (currently tested for 1.83.0)
-> - Set `BINARYNINJADIR` env variable to your install directory (see [here](https://docs.binary.ninja/guide/#binary-path) for more details)
-
-1. Clone this repository (`git clone https://github.com/Vector35/binaryninja-api/tree/dev`)
-2. Navigate to this plugin (`cd plugins/warp`)
-3. Build in release (`cargo build --release`)
-
-If compilation fails because it could not link against binaryninjacore than you should double-check you set `BINARYNINJADIR` correctly.
-
-Once it finishes you now will have a `sigem` binary in `target/release` for use.
-
-### Usage
-
-> Assuming you already have the `sigem` binary and a valid headless compatible Binary Ninja license.
-
-To create a signature file simply pass the input as the first positional argument to `sigem`:
-
-- A regular binary
-- An archive of binaries (`.a`, `.lib`, `.rlib`)
-- A directory of binaries
-- A BNDB
-
-Example: `./sigem mylibrary.a` or `./sigem ./all-libs/`
-
-Once its finished you should see a `.sbin` file next to the input file, this can be moved into the corresponding signature folder (see the [user docs](https://docs.binary.ninja/dev/annotation.html?h=install+path#signature-library) for more info)
-
-If you encounter malloc errors or instability try and adjust the number of parallel threads using `RAYON_NUM_THREADS` environment variable (ex. `RAYON_NUM_THREADS=1 ./sigem mylib.a`) \ No newline at end of file
+Documentation is available in the [User Guide](../../docs/guide/warp.md). \ No newline at end of file