| Age | Commit message (Collapse) | Author |
|
|
|
|
|
So that users of the memory map API can know if a view has activated the memory map and adjust behavior accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And some other misc cleanup
|
|
|
|
|
|
|
|
|
|
`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.
|
|
|
|
|
|
|
|
|
|
Both of these are associated directly to a `BinaryView` and only exist as accessors onto it.
|
|
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.
|
|
|
|
|
|
These are never expressed, just adds another unneeded constraint on the impl
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
- Add unit tests
- Expose read/write functionality
- Add some much needed documentation when passing to memory map
|
|
- Don't use Result for some or none values
- Fix freeing of key value store objects
- Improve ergonomics a little bit
- Add unit tests
|
|
|
|
Previously we were comparing the section raw pointer and hashing it
|
|
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.
|
|
|
|
|
|
- Removed `to_string` shortcut from `BnString`.
- Misc formatting
|
|
Section names come from the binary itself, we want to preserve the name as is
|
|
`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.
|
|
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>
|
|
We don't need to introduce extra global state when the goal is to not release floating licenses in shutdown.
|
|
|
|
|
|
|
|
conversion can be tolerated
Still need to go and audit all usage, but realistically the most important places to give the user control are with symbols, where the data can come from non utf8 sources
This is still incomplete, I just looked for usage of -> BnString so any other variant was omitted.
|
|
|
|
|