summaryrefslogtreecommitdiff
path: root/rust
AgeCommit message (Collapse)Author
2025-05-12[Rust] Keep `TypeArchiveSnapshotId` as a c_str when passing to coreMason Reed
2025-05-12[Rust] Add type library exampleMason Reed
2025-05-12[Rust] Add type library testsMason 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] Add type printer testsMason Reed
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 extra assert in flowgraph exampleMason Reed
2025-05-12[Rust] Check lifted call for params and output in mlil testMason 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.
2025-05-12[Rust] Add Assert and ForceVersion LLIL operationsMason Reed
2025-05-12[Rust] Add `CoreRegister` name to the `Debug` implMason Reed
2025-05-12[Rust] Remove unneeded mut from Architecture trait signaturesMason Reed
These are never expressed, just adds another unneeded constraint on the impl
2025-05-12[Rust] Support SSA form properly in low level ILMason Reed
2025-05-12[Rust] Fix misc typosMason Reed
2025-05-12[Rust] Flow graph API improvementsMason Reed
- Fixed some misc bugs - Added real FlowGraphEdge type - Added accessors for node edges - Added interaction handler to the flow graph example to dump the flow graph to stdin - Split out the flow graph API into smaller files
2025-05-12[Rust] Misc cleanupMason Reed
2025-05-12[Rust] Implement custom interactive handlerrbran
2025-05-12[Rust] Add doc comments for undo actionsMason Reed
2025-05-12[Rust] Implement `LanguageRepresentation` and `LineFormatter`rbran
2025-05-12[Rust] Improve `FileAccessor`Mason Reed
- Add unit tests - Expose read/write functionality - Add some much needed documentation when passing to memory map
2025-05-12[Rust] Metadata API improvementsMason Reed
- Don't use Result for some or none values - Fix freeing of key value store objects - Improve ergonomics a little bit - Add unit tests
2025-05-12[Rust] Construct a `SectionBuilder` from a `Section`Mason Reed
2025-05-12[Rust] Correct impls for `Section`Mason Reed
Previously we were comparing the section raw pointer and hashing it
2025-05-12[Rust] Retain core string for section stringsMason Reed
Might want to key off the section string in the core, so we should give it back as a `BnString`
2025-05-12[Rust] Add section testsMason Reed
2025-05-12[Rust] Reduce usage of `IntoCStr` in function signaturesMason Reed
This is being done to reduce complexity in function signatures, specifically many of the strings we are passing ultimately should be new types themselves instead of "just strings", things such as type ids. Another place which was confusing was dealing with filesystem related APIs, this commit turns most of those params into a stricter `Path` type. This is bringing the rust api more inline with both python and C++, where the wrapper eagerly converts the string into the languages standard string type. Special consideration must be made for symbols or other possible non utf-8 objects. This commit will be followed up with one that adds the `IntoCStr` bound on API's we want to keep as invalid utf-8 so we can for example, get section by name on a section with invalid utf-8.
2025-05-12[Rust] Add string testsMason Reed
2025-05-12[Rust] Rename `AsCStr` to `IntoCStr`Mason Reed
2025-05-12[Rust] Misc clippy lintsMason Reed
2025-05-12[Rust] More cleanup regarding `BnString`Mason Reed
- Removed `to_string` shortcut from `BnString`. - Misc formatting
2025-05-12[Rust] Make `Section::name` return `BnString`Mason Reed
Section names come from the binary itself, we want to preserve the name as is
2025-05-12[Rust] Simplify usage surrounding c stringsMason Reed
`cstring.as_ref().as_ptr() as *const c_char` -> `cstring.as_ptr()` `cstring.as_ref().as_ptr() as *mut _` -> `cstring.as_ptr()` `cstring.as_ptr() as *const c_char` -> `cstring.as_ptr()` With a few fixes for cstrings that might be dropped prematurely.
2025-05-12[Rust] Simplify `BnStrCompatible` traitMason Reed
Followup to https://github.com/Vector35/binaryninja-api/pull/5897/ This simplifies usage of the trait in user code, should just be able to `to_cstr` to get the cstr repr and then call `as_ptr`. Co-authored-by: Michael Krasnitski <michael.krasnitski@gmail.com>
2025-05-12[Rust] Simplify enterprise initializationMason Reed
We don't need to introduce extra global state when the goal is to not release floating licenses in shutdown.
2025-05-12[Rust] Misc clippy lintsMason Reed
2025-05-12[Rust] More cleanupMason Reed
2025-05-12[Rust] Remove unused fileMason Reed