| Age | Commit message (Collapse) | Author |
|
|
|
|
|
- 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
|
|
So you can pass a closure to the register function
|
|
the UI.
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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`.
|
|
|
|
`BinaryViewExt::analysis_progress`
|
|
- `analysis_info` was causing a double free with function refs, also did not need to be wrapped in a Result
|
|
|
|
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.
|
|
Use `Location` instead, `arch` can be a nullptr
|
|
These are introduced after changing to Rust 1.91.1
|
|
|
|
Now that we have more duplicate API's we need to clarify and cross link between them to help alleviate the confusion for readers.
|
|
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.
|
|
|
|
|
|
|
|
"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.
|
|
|
|
|
|
|
|
This is temporary, please no one depend on this
|
|
|
|
|
|
Needed this for WARP plugin
|
|
|
|
|
|
This affects mainly users creating an empty raw view headlessly and adding a function.
|
|
|
|
And some other misc cleanup
|
|
|
|
Both of these are associated directly to a `BinaryView` and only exist as accessors onto it.
|
|
|
|
- Add unit tests
- Expose read/write functionality
- Add some much needed documentation when passing to memory map
|
|
Might want to key off the section string in the core, so we should give it back as a `BnString`
|
|
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.
|
|
|
|
`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.
|