summaryrefslogtreecommitdiff
path: root/rust/src
AgeCommit message (Collapse)Author
2025-07-02[Rust] Make some core handles publicMason Reed
This is a requirement if we want rust plugins to expose sane FFIs
2025-07-01Python: Collect and pass mappings when copying MLIL functionsGlenn Smith
2025-06-30Add Checkbox input support to python apiAlexander Khosrowshahi
2025-06-25Temporary fix for Rust API.Alexander Taylor
This...should probably not be done this way. But, at least we don't fail clippy now.
2025-06-25Fix reported `cargo fmt` errors from Rust CI.Alexander Taylor
2025-06-24[Rust] Fix ParsedType fields being privateMason Reed
2025-06-23Perform BB analysis from Architecture C++ APIBrandon Miller
This commit moves AnalyzeBasicBlocks from the binary ninja core to the API and allows architecture plugins to optionally override AnalyzeBasicBlocks for a custom implementation Supply ABB inputs in BNBasicBlockAnalysisContext Register default analyze basic blocks callback This allows the nanomips and rust core architecture plugins to work again while using the C++ API DefaultAnalyzeBasicBlocks Use default ABB from Python plugins Fix bug in API ArchAndAddr operator overload Python APIs for basic block analysis
2025-06-18Make StructureBuilder.finalize immutableJosh Ferrell
2025-06-16Update SymbolQueue API to support types with confidence.Brian Potchik
2025-06-13[Rust] Make the `target` field public in `Edge`saruman9
2025-06-13[Rust] Add `BinaryViewExt::strings` and `BinaryViewExt::strings_in_range`Mason Reed
2025-06-13Require a default platform to create functions for a given Binary ViewMason Reed
This affects mainly users creating an empty raw view headlessly and adding a function.
2025-06-13[Rust] Misc API additions/docs and formatting fixesMason Reed
2025-06-11API to create immediate function graphsGlenn Smith
2025-06-11Expose Function::CheckForDebugReportGlenn Smith
2025-06-11Expose AnalysisContext::GetLiftedILFunction properlyGlenn Smith
It was already grabbing the Lifted IL through the function object, which may not be the most up to date
2025-06-05Fix and add code docs regarding FileMetadata view types vs view namesMason Reed
2025-05-31[Rust] Retrieve architecture if missing from location passed to ↵Mason Reed
`MediumLevelILFunction::instruction_from_index` Fixes https://github.com/Vector35/binaryninja-api/issues/6876
2025-05-30[Rust] Add `Variable::to_register` helper functionMason Reed
Makes it simpler to get the register from a variable (if it is a register variable)
2025-05-30[Rust] Finish out the `PossibleValueSet` implementation to include range and ↵Mason Reed
lists of values This requires us to allocate on the rust side of the API, this is quite easy to mess up but the usage of it is limited.
2025-05-30[Rust] Express expression vs instruction index for MLIL and HLIL APIsMason Reed
This was done to fix unintended behavior using an instruction or expression index in place of the other. Fixes https://github.com/Vector35/binaryninja-api/issues/6897
2025-05-30[Rust] Map LLIL_UNDEF to LowLevelILExpressionKind::UndefMark Rowe
2025-05-30[Rust] Add support for LLIL_SEPARATE_PARAM_LIST_SSAMark Rowe
2025-05-30[Rust] Add support for LLIL_REG_PHI / LLIL_MEM_PHI / LLIL_FLAG_PHIMark Rowe
2025-05-30[Rust] Support retrieving use / def of SSA registers in LLILMark Rowe
2025-05-30[Rust] Add LowLevelILInstruction::basic_block / ↵Mark Rowe
LowLevelILFunction::basic_block_containing_index
2025-05-30[Rust] Have LowLevelILBlock derive Clone rather than manually implementing itMark Rowe
This is possible now that FunctionMutability and FunctionForm require Copy, and fixes an existing clippy warning about the non-canonical implementation of `clone` on a `Copy` type.
2025-05-30[Rust] Allow mapping between SSA and non-SSA forms of instructions / expressionsMark Rowe
2025-05-30[Rust] Make LowLevelIL{Expression,Instruction} implement CopyMark Rowe
2025-05-22Add TypeContainer::GetEmptyTypeContainerGlenn Smith
2025-05-19Implement function level metadataBrandon Miller
2025-05-17Add `BNIsMemoryMapActivated` APIMason Reed
So that users of the memory map API can know if a view has activated the memory map and adjust behavior accordingly.
2025-05-12[Rust] Misc cleanup regarding c stringsMason Reed
2025-05-12[Rust] Keep `TypeArchiveSnapshotId` as a c_str when passing to coreMason Reed
2025-05-12[Rust] Add `Platform::get_type_library_by_name`Mason Reed
2025-05-12[Rust] Enclose the `BnString` with "" in the `Debug` implMason Reed
2025-05-12[Rust] Misc type library cleanupMason Reed
2025-05-12[Rust] Add `Display` and `Debug` impl to `Metadata`Mason Reed
2025-05-12[Rust] Make TypeLibrary ref countedMason Reed
And some other misc cleanup
2025-05-12[Rust] Misc cleanupMason Reed
2025-05-12[Rust] Add missing instruction types to MLILMason Reed
2025-05-12[Rust] Simplify operand list retrieval for MLIL and HLILMason Reed
2025-05-12[Rust] Remove useless alias functionMason Reed
2025-05-12[Rust] Don't panic when a Rust plug-in encounters an unhandled MLIL instructionMark Rowe
`MediumLevelILInstruction` does not yet handle `MLIL_CALL_OUTPUT`, `MLIL_CALL_PARAM`, `MLIL_CALL_PARAM_SSA`, `MLIL_CALL_OUTPUT_SSA`, `MLIL_MEMORY_INTRINSIC_OUTPUT_SSA`, or `MLIL_MEMORY_INTRINSIC_SSA`. Map these to a `NotYetImplemented` kind rather than panicking since a panic takes down the entire app.
2025-05-12[Rust] Flowgraph API improvementsMason Reed
2025-05-12[Rust] Interaction handler API fixesMason Reed
2025-05-12[Rust] Misc cleanupMason Reed
2025-05-12[Rust] Consult secrets provider when trying to connect to a remoteMason Reed
2025-05-12[Rust] Move `BinaryReader` and `BinaryWriter` into `binary_view` moduleMason Reed
Both of these are associated directly to a `BinaryView` and only exist as accessors onto it.
2025-05-12[Rust] Remove `NonSSAVariant` bound from `LowLevelILFunction`Mason Reed
We don't do enough with the lifted il != non lifted il to justify the bound. This makes modifying IL much less work as the historical lifted il bound is gone.