summaryrefslogtreecommitdiff
path: root/rust/src/binary_view.rs
AgeCommit message (Collapse)Author
2026-05-27Rust APIs for custom function liftersBrandon Miller
2026-05-22Refactor calling conventions to support correct representation of structuresRusty Wagner
2026-05-10[Rust] Refactor `binary_view` moduleMason Reed
- Remove the "viral" `BinaryViewExt` trait and its blanket impl - Split up the binary view type from the custom trait impl - Simplify and fix bugs regarding custom binary view initialization - Rewrite Minidump binary view example, parses the PE headers to create proper sections now - Add some extra documentation - Add unit test for custom binary view
2026-03-24[Rust] Impl `BinaryViewEventHandler` for `Fn(&BinaryView)`Mason Reed
So you can pass a closure to the register function
2026-03-11Enhance MemoryMap bindings and add support to re-enable disabled regions in ↵Brian Potchik
the UI.
2026-02-23[Rust] Misc documentation and cleanupMason Reed
2026-02-23[Rust] Misc TypeLibrary API improvementsMason Reed
2026-02-23[Rust] Refactor `FileMetadata` file informationMason Reed
- Rename and retype `FileMetadata::filename` and make the assignment required to happen at time of construction. - Add `FileMetadata::display_name` which is only to be used for presentation purposes. - Add `FileMetadata::virtual_path` for containers. - Rename `FileMetadata::modified` to `FileMetadata::is_modified` to be more consistent across codebase. - Add some missing documentation. - Add `BinaryView::from_metadata` with accompanying documentation.
2026-02-23[Rust] Add `BinaryViewExt::type_libraries`Mason Reed
2026-02-23[Rust] Improve API surrounding binary view type librariesMason Reed
2026-01-13[Rust] Fix misc doc comments missingMason Reed
2026-01-13[Rust API] Add BinaryViewExt::{tags_all_scopes, tag_types, tags_by_type}Josh Ferrell
2026-01-01update copyrights for 2026Jordan Wiens
2025-12-24[Rust] Fix `BinaryViewExt::address_comments` leaking and refactorMason Reed
2025-12-24[Rust API] Add BinaryViewExt.address_commentsJosh Ferrell
2025-12-15[Rust] Restructure type APIs into `types` moduleMason Reed
This helps with documentation, giving a single module for those working with types to find related APIs Also split out enumeration and structure APIs into their own file, since they have their own backing data separate from `Type`.
2025-12-10[Rust] Add APIs to retrieve type archives for a binary viewMason Reed
2025-12-10[Rust] Refactor `AnalysisProgress` returned from ↵Mason Reed
`BinaryViewExt::analysis_progress`
2025-12-10[Rust] Add string reader helpers and fix `analysis_info`Mason Reed
- `analysis_info` was causing a double free with function refs, also did not need to be wrapped in a Result
2025-12-10[Rust] Add misc documentationMason Reed
2025-12-10[Rust] Move architecture module code into more reasonable filesMason Reed
To keep backwards compatibility for commonly referenced code we re-export them within the architecture module. Also does some light refactoring of some newly added APIs to keep them more consistent with other parts of the codebase.
2025-12-10[Rust] Remove redundant `ArchAndAddr` typeMason Reed
Use `Location` instead, `arch` can be a nullptr
2025-12-05[Rust] Fix misc clippy lints and warningsMason Reed
These are introduced after changing to Rust 1.91.1
2025-11-23Add IsOffsetReadOnlySemantics API.Brian Potchik
2025-11-23[Rust] Clarify and expand on the current set of queryable offset propertiesMason Reed
Now that we have more duplicate API's we need to clarify and cross link between them to help alleviate the confusion for readers.
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-09-29Rust bindings for custom basic block analysisBrandon Miller
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-17[Rust] Misc formatting fixesMason Reed
2025-07-15Add the ability to limit the number of results in the cross reference APIsRusty Wagner
2025-07-15[Rust] Add `BinaryView::search` and friendsMason Reed
2025-07-02[Rust] Make the `BinaryView` handle publicMason Reed
This is temporary, please no one depend on this
2025-07-02[Rust] Add `BinaryViewExt::workflow`Mason Reed
2025-07-02[Rust] Add a comment about cleaning up the `BinaryView` objectMason Reed
2025-07-02[Rust] Expose `BinaryView::from_raw`Mason Reed
Needed this for WARP plugin
2025-06-16Update SymbolQueue API to support types with confidence.Brian Potchik
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-05-12[Rust] Make TypeLibrary ref countedMason Reed
And some other misc cleanup
2025-05-12[Rust] Misc cleanupMason 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] Implement custom interactive handlerrbran
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] 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] 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] Rename `AsCStr` to `IntoCStr`Mason Reed
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.