| Age | Commit message (Collapse) | Author |
|
This fixes an issue where the commit dialog would not fill in the newly added network source
|
|
This helps when you have analyzed large binaries and want to create signatures after-the-fact, skipping analysis. This can speed up the time to create large datasets drastically.
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/7268
|
|
Also makes it so that constraints with an exact offset match are displayed differently.
|
|
|
|
|
|
|
|
This makes them immediately available, and works around the issue of invalidating the entire cache to allow for retrieving of locally pushed data
|
|
|
|
|
|
container transforms.
|
|
the payload.
|
|
|
|
|
|
|
|
|
|
- Improve error messages to include what exactly caused the parsing to fail
- Relaxed the parsing validation to allow for more files to be parsed
- Added a form dialog to improve discoverability of load settings
We still need to relax optional fields failing to parse if they have no child, as that is considered an error, even with no validation.
|
|
|
|
operations
A new activity is added that will remove calls to `objc_retain`,
`objc_release`, `objc_autorelease`, and related functions. It is
disabled by default due to the fact it changes the semantics of the
code. It can be enabled on a per-function basis via the Function
Settings context menu or command palette entry. Alternatively, it can be
enabled in Open with Options or in user settings if a user would prefer
it be on for an entire file or for all files they open.
For now the activity is only eligible within arm64 binaries. Supporting
x86_64 will require matching some slightly different IL patterns.
|
|
|
|
|
|
|
|
`LC_FUNCTION_STARTS` includes both functions and jump tables. We want to
avoid calling `AddFunctionForAnalysis` on jump tables since it can
result in a function being created at the jump table's location with a
bogus body.
We already skip adding functions for entries in `LC_FUNCTION_STARTS` if
the lifting of their first few bytes end up including `LLIL_UNDEF`.
However, arm64 intentionally lifts `udf` instructions (i.e., opcodes in
the Permanently Undefined range) to `LLIL_TRAP` in order to preserve the
immediate portion of the instruction.
To address this, `MachoView::IsValidFunctionStart` now returns false if
the first lifted instruction is `LLIL_TRAP` in addition to when the
lifting contains `LLIL_UNDEF`.
|
|
|
|
|
|
|
|
|
|
Most members were initialized within the constructor, but a couple were
only initialized later and could in some cases be accessed before being
initialized.
Members of types without default constructors are now initialized via
default member initializers unless they're initialized in the class's
member initializer list.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
This allows types to propagate to thunks in cases where there are
GOT entries for internal functions
|
|
|
|
|
|
|
|
|
|
|
|
by default
The table views previously visually suggested they were being sorted by
address, but in practice they were not sorted until the user set an
explicit sort order by clicking on a column header.
|
|
|
|
Alongside this I also added support for decoding:
* LDR / STR (table)
* PMULLB / PMULLT
* ABS / CNT / CTZ
* SMIN / SMAX / UMIN / UMAX
* RPRFM
* PSEL
Note that while these instructions will now be disassembled, they are
not yet lifted to LLIL.
Additionally, I fixed a number of errors in the decoding of some less
commonly occurring instructions.
|
|
|
|
expr index
|
|
|
|
1. In the client license, we refer to sections "6 through 14" in section
2, but there are only 13 sections. This has been updated.
2. In the server license, an extra newline caused numbering to be wrong
for all other sections past section 3. This has been corrected.
|