summaryrefslogtreecommitdiff
path: root/rust/src
AgeCommit message (Collapse)Author
2025-11-23[Rust] Fix misc formattingMason Reed
2025-11-23Unify SettingsCache and MemoryMap access under immutable snapshots for ↵Brian Potchik
consistent, lock-free AnalysisContext queries.
2025-11-17Add functions_by_name to rust implementation of BinaryViewExtJames Johnson
Python has the get_functions_by_name method on binary views that is useful for finding a function by name. This adds that same method to the rust implementation for binary views. The implementation is essentially the same as the python version apart from the ordering of the symbols. Python will order functions defined in the binary before functions defined outside of the binary. The rust implementation of `symbols_by_name` does not take an ordering for the symbols so that is currently left out here.
2025-11-17Fix calculation of mask for constant valuesJames Johnson
This fixes an error when a constant is being loaded into a flag. The constants associated with a flag value have their size set to zero. That causes the mask for the constant value to be all zeros. Due to that, getting the value of a zero sized constant will always return 0 even if it should be 1. This commit special cases the size of zero to create a mask of 1 which will correctly mask off the lowest byte and return that as the constant.
2025-11-16[DWARF] Fix crash in dwarf export with detached NTR vtable data variableMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7646 Also cleaned up and added some more context to the `NamedTypeReference::target` function.
2025-11-04Correct cargo fmt diff.Alexander Taylor
2025-11-04Add auto downloading of project file dependencies, clean up download APIsJosh Ferrell
2025-11-04Add project file dependenciesJosh Ferrell
2025-11-03Revert "Refactor Plugin Load/Management to support upcoming changes"0cyn
This reverts commit 72fcf44f3731ade3cf1310da55f633f1cb9069ce.
2025-11-03Add helpers for whether a function is exported.Alexander Taylor
2025-10-30Fix rust api formattingJosh Ferrell
2025-10-29[Rust] Fix typo in doc commentMason Reed
2025-10-29[Rust] Update repository API following updated Core API'sMason Reed
2025-10-29Refactor Plugin Load/Management to support upcoming changes0cyn
2025-10-23[Rust] Misc formattingMason Reed
2025-10-23Support bitfields in type systemMason Reed
Also adds support for parsing bitfields in PDB, DWARF and SVD plugins WIP: API needs to be considered more, also need to find type related apis that may need to be rethought.
2025-10-22Add setter for BB analysis context max_size_reachedBrandon Miller
Add setter for Python and rust BasicBlockAnalysisContext.max_size_reached
2025-10-22[Rust] Misc formattingMason Reed
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>`.