| Age | Commit message (Collapse) | Author |
|
|
|
consistent, lock-free AnalysisContext queries.
|
|
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.
|
|
This fixes an error when a constant is being loaded into a flag.
The constants associated with a flag value have their size set to zero.
That causes the mask for the constant value to be all zeros. Due to that,
getting the value of a zero sized constant will always return 0 even if
it should be 1.
This commit special cases the size of zero to create a mask of 1 which
will correctly mask off the lowest byte and return that as the constant.
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/7646
Also cleaned up and added some more context to the `NamedTypeReference::target` function.
|
|
|
|
|
|
|
|
This reverts commit 72fcf44f3731ade3cf1310da55f633f1cb9069ce.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also adds support for parsing bitfields in PDB, DWARF and SVD plugins
WIP: API needs to be considered more, also need to find type related apis that may need to be rethought.
|
|
Add setter for Python and rust BasicBlockAnalysisContext.max_size_reached
|
|
|
|
|
|
|
|
|
|
This allows you to reference multiple different loggers without setting a global logger instance using `Logger::init`.
|
|
`get_data`
We want to provide no value in the case of the key not having an associated value
|
|
|
|
|
|
- Adds Python API to remove matched function
- Adds command + UI actions to remove matched function
- Adds command + UI actions to ignore function in subsequent matches
|
|
|
|
Also adds an example plugin and misc rust fixes / documentation.
This is a continuation of https://github.com/Vector35/binaryninja-api/pull/6721
Co-authored-by: rbran <lgit@rubens.io>
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/7268
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LowLevelILFunction objects can be constructed without a owner
function. BNGetLowLevelILOwnerFunction can return NULL and must be
checked before creating a Function object.
|
|
Required for implementing guided analysis mode in custom
implementations of analyze_basic_blocks
|
|
|
|
|
|
|
|
|
|
expr index
|
|
|
|
|
|
implementations
|
|
|
|
|
|
This is functionally equivalent to the previous workflow_objc, with the
following changes:
1. It mutates the `core.function.metaAnalysis` workflow rather than
registering a new named workflow. The activities now all check for
the presence of the Objective-C metadata added by `ObjCProcessor` to
determine whether they should do work, rather than relying on
`MachoView` to override the function workflow when Objective-C
metadata is present. This fixes
https://github.com/Vector35/binaryninja-api/issues/6779.
2. The auto-inlining of `objc_msgSend` selector stub functions is
performed in a separate activity from the processing of
`objc_msgSend` call sites. The selector stub inlining activity is
configured so that it does not run in `DSCView` as the shared cache
needs different behavior for stub functions more generally that
`SharedCacheWorkflow` already provides.
3. The way that types like `id` and `SEL` are referenced is fixed so
that they show up as `id` rather than `objc_struct*`.
This also replaces the Objective-C portion of the shared cache's
workflow, and incorporates several bug fixes that had been applied to it
but not the standalone Objective-C workflow.
|
|
1. Some SSA-specific functions are now implemented on
`LowLevelILFunction<M, SSA>` rather than `Ref<LowLevelILFunction<M, SSA>>`.
2. A lifting helper for `LLIL_TAILCALL` is added to `LowLevelILFunction`.
3. `PossibleValueSet::ImportedAddressValue` now holds the value.
|
|
These are available on `LowLevelILFunction<M, SSA>`.
|