| Age | Commit message (Collapse) | Author |
|
|
|
`BinaryViewExt::analysis_progress`
|
|
These have been deprecated since last stable, so they will be removed now.
I do believe that there might be some external users of this api so we should alert them.
|
|
|
|
|
|
- `analysis_info` was causing a double free with function refs, also did not need to be wrapped in a Result
|
|
|
|
Still need to add a custom architecture for unit tests like in python
|
|
There was a TODO there to document that it is optional, we should just wrap it in `Option` instead.
|
|
|
|
|
|
|
|
|
|
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
|
|
Forgot to call `BNFreeArchitectureAndAddressList`, also use `Location` instead of `ArchAndAddr`.
|
|
|
|
without an owner
You cannot generate SSA form of an LLIL function without a backing function unfortunately.
|
|
|
|
|
|
|
|
|
|
|
|
EndBulkAddSegments
This defers rebuilding of the section map until after all sections for
an image have been added, rather than having the section map be rebuilt
after adding each section.
|
|
This defers rebuilding of the section map until after all sections for
an image have been added, rather than having the section map be rebuilt
after adding each section.
|
|
This change consists of two parts:
1. Updating the system register enumeration and names based on the
latest data from ARM.
2. Removing register names that conflict with the official names from
ARM.
The conflicting register names came a data set of Apple-specific system
register names. These would ideally not be baked into the AArch64
disassembler at all, but would be added by Binary Ninja's Apple
platform. The exact mechanism for doing that is still TBD.
Fixes https://github.com/Vector35/binaryninja-api/issues/7664.
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/7666.
Correctly managing the state of bulk symbol modifications via
`BeginBulkModifySymbols` / `EndBulkModifySymbols` is error-prone in the
face of exceptions and early returns. Leaking a bulk symbol modification
can leave the view in a state where no further changes to symbols will
be applied.
All users of the C++ API are encouraged to move from
`BeginBulkModifySymbols` / `EndBulkModifySymbols` to the new
`BulkSymbolModification` class.
|
|
|
|
|
|
|
|
We already do this for a number of plugins / crates, this commit goes over the rest to make sure that they all do this.
We keep cleaning binaryninjacore-sys as we want to generate the core bindings immediately on changes to binaryninjacore.h
|
|
These are introduced after changing to Rust 1.91.1
|
|
|
|
|
|
unbacked regions
Fixes https://github.com/Vector35/binaryninja-api/issues/7724
|
|
Co-authored-by: Mason Reed <mason@vector35.com>
|
|
directly for better performance in presence of many sections.
|
|
shared cache
Dataflow is now used to determine call targets when detecting calls to
reference counting runtime functions. The previous approach of matching
on specific instructions missed some patterns that are common in the
shared cache.
|
|
explicit type
Helps with windows functions where we had previously defined the signature
|
|
|
|
Seems we forgot to expose this one
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/7705
RTTI processing with malformed sections can still cause prolonged analysis, in extreme cases like the binary in the issue needing the user to stop the RTTI processing once it gets to the Itanium RTTI pass. More work to be done, I would like to solve this with some section heuristics using the sections/segments entropy.
|
|
the previous pass
|
|
|
|
|
|
|
|
This ensures they do not overlap with any images that may later be loaded from the shared cache.
|
|
This ensures they do not overlap with any images that may later be loaded from the kernel cache.
Fixes https://github.com/Vector35/binaryninja-api/issues/7634.
|
|
Should have the same behavior as doing it on a directory
|
|
Can be triggered by trying to run the processor on a file with no functions.
Found this while doing misc performance testing on windows.
|