summaryrefslogtreecommitdiff
path: root/rust/src
AgeCommit message (Collapse)Author
2025-10-22[Rust] Misc clippy lintsMason Reed
2025-10-22[Rust] Impl `Debug` for `DownloadProvider`Mason Reed
2025-10-22[Rust] Add GET and POST helper functions for `DownloadInstance`Mason Reed
2025-10-22[Rust] Expose a non `log` specific function for sending logs to a `Logger`Mason Reed
This allows you to reference multiple different loggers without setting a global logger instance using `Logger::init`.
2025-10-22[Rust] Fix custom `SecretsProvider` impl requiring data to be passed back in ↵Mason Reed
`get_data` We want to provide no value in the case of the key not having an associated value
2025-10-22[Rust] Refactor download provider module to allow for custom implementationsMason Reed
2025-10-21Add derived strings and string recognizer APIRusty Wagner
2025-10-12[WARP] Improve UX surrounding removal of matched functionsMason Reed
- Adds Python API to remove matched function - Adds command + UI actions to remove matched function - Adds command + UI actions to ignore function in subsequent matches
2025-10-12Improve error handling in project apisJosh Ferrell
2025-10-07[Rust] Implement custom data renderer APILukBukkit
Also adds an example plugin and misc rust fixes / documentation. This is a continuation of https://github.com/Vector35/binaryninja-api/pull/6721 Co-authored-by: rbran <lgit@rubens.io>
2025-10-07[Rust] Fix save file dialog not respecting default file pathMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7268
2025-10-02[Rust] Fix misc typoMason Reed
2025-10-02[Rust] Improvements to LLIL flag and intrinsic operationsJames Johnson
2025-10-02[Rust] Add support for activity eligibility predicates involving platformsMark Rowe
2025-09-30Make Project::{from_raw,ref_from_raw} pubJosh Ferrell
2025-09-30Fix rust api formatting warningsJosh Ferrell
2025-09-29Fix rust warnings about lifetimes introduced by 1.89.0Josh Ferrell
2025-09-29Fix Rust LowLevelILFunction owner function methodBrandon Miller
LowLevelILFunction objects can be constructed without a owner function. BNGetLowLevelILOwnerFunction can return NULL and must be checked before creating a Function object.
2025-09-29Rust APIs needed for guided analysis modeBrandon Miller
Required for implementing guided analysis mode in custom implementations of analyze_basic_blocks
2025-09-29Rust binding for LLVM MC disassemblerBrandon Miller
2025-09-29Make rust il.undefined return a ValueExpr for use as a sub-exprBrandon Miller
2025-09-29Add a new line disassembly text tokenBrandon Miller
2025-09-29Rust bindings for custom basic block analysisBrandon Miller
2025-09-24Fix HighLevelILInstruction CoreArrayProvider using instr index instead of ↵Josh Ferrell
expr index
2025-09-17[Rust] Add TypeBuilder::set_child_typeMark Rowe
2025-09-17Fix a Rust formatting issueMark Rowe
2025-09-15Deprecate some Rust MediumLevelILFunction methods in favor of Function ↵Josh Ferrell
implementations
2025-09-07[Rust] Support pointer base types and offsetsLukBukkit
2025-09-03Fix user stack var rust APIsJosh Ferrell
2025-08-27Rewrite Obj-C workflow in RustMark Rowe
This is functionally equivalent to the previous workflow_objc, with the following changes: 1. It mutates the `core.function.metaAnalysis` workflow rather than registering a new named workflow. The activities now all check for the presence of the Objective-C metadata added by `ObjCProcessor` to determine whether they should do work, rather than relying on `MachoView` to override the function workflow when Objective-C metadata is present. This fixes https://github.com/Vector35/binaryninja-api/issues/6779. 2. The auto-inlining of `objc_msgSend` selector stub functions is performed in a separate activity from the processing of `objc_msgSend` call sites. The selector stub inlining activity is configured so that it does not run in `DSCView` as the shared cache needs different behavior for stub functions more generally that `SharedCacheWorkflow` already provides. 3. The way that types like `id` and `SEL` are referenced is fixed so that they show up as `id` rather than `objc_struct*`. This also replaces the Objective-C portion of the shared cache's workflow, and incorporates several bug fixes that had been applied to it but not the standalone Objective-C workflow.
2025-08-27[Rust] Fix a couple of oversights in the APIMark Rowe
1. Some SSA-specific functions are now implemented on `LowLevelILFunction<M, SSA>` rather than `Ref<LowLevelILFunction<M, SSA>>`. 2. A lifting helper for `LLIL_TAILCALL` is added to `LowLevelILFunction`. 3. `PossibleValueSet::ImportedAddressValue` now holds the value.
2025-08-27[Rust] Add LowLevelILFunction::{get_ssa_register_value, get_ssa_flag_value}Mark Rowe
These are available on `LowLevelILFunction<M, SSA>`.
2025-08-20[Rust] Fix misc inconsistencies in `2ba29fd`Mason Reed
2025-08-20[Rust] Add project path file retrieval related functionsMason Reed
2025-08-20Deprecate Workflow::Instance in favor of Workflow::Get and Workflow::GetOrCreateMark Rowe
Calls to `Workflow::Instance` that were looking up a built-in workflow name are updated to use `Workflow::Get`. Others use `Workflow::GetOrCreate`.
2025-08-13[Rust] Add builder API for creating workflowsMark Rowe
`Workflow::new` is replaced by `Workflow::build` that returns a `Builder` type that supports the operations that mutate a workflow, such as registering activities. `Workflow::instance` is replaced by `Workflow::get` to make clear that it is intended to look up an existing workflow. `Workflow::cloned` is introduced to wrap the common pattern of retrieving an existing workflow and cloning it with the same name in order to modify it. `Builder::activity_before` / `Builder::activity_after` are introduced to wrap the common pattern of registering an activity then inserting it before or after a given activity.
2025-08-13[Rust] Add a type-safe builder API for Activity configurationMark Rowe
This makes it possible to see what structure the configuration takes and eliminates errors due to typos in JSON string literals.
2025-08-13[Rust] Fix warnings about names that are not snake caseMark Rowe
The names can simply be omitted since they are only mentioned in the declaration of a function pointer.
2025-08-06[Rust] Take download callbacks by reference to avoid boxingMason Reed
2025-08-03[Rust] Misc formattingMason Reed
2025-08-01Add LogForException APIs to pass stack trace information separate from the ↵Rusty Wagner
message
2025-07-30Change rust project APIs to accept "impl AsRef<Path>" instead of "&str" for ↵Josh Ferrell
path arguments
2025-07-29Add MemoryMap::add_unbacked_memory_region to rust apiJosh Ferrell
2025-07-28[Rust] Misc formattingMason Reed
2025-07-28[Rust] Add `BinaryViewExt::image_base`Mason Reed
2025-07-28[Rust] Add docs for what the boolean return value does for some specific ↵Mason Reed
"progress" like callbacks Still need to add more, consider changing the boolean to an enum that describes it better, so we do not need to copy paste docs around.
2025-07-24make fields of LookupTableEntry publicalan
2025-07-22Fix non-clickable force analysis with rust render layer onMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7139
2025-07-17[Rust] Misc fixes / formattingMason Reed
- Fix cmake clean not cleaning target docs - Fix not prioritizing enterprise remote in collab tests - Some misc formatting - Fix incorrect assert in binary loading
2025-07-17[Rust] Misc formatting fixesMason Reed