| Age | Commit message (Collapse) | Author |
|
Fixed formatting and added information regarding the `volatile` annotation and how it impacts analysis
Fixes https://github.com/Vector35/binaryninja-api/issues/6697
|
|
|
|
|
|
|
|
|
|
This also updates the symbol names that are generated when the name
cannot be found to include the address in hex rather than decimal so
it's easier to navigate to.
|
|
We need to do this for RTTI info that resides in DefaultSectionSemantic sections, which will happen for some binaries where the data is placed in non-generic sections.
|
|
GCC emits a leading `*` to indicate that the type info is internal and
its name can be compared via pointer equality. It is not part of the
type name. This was only being handled when followed with `N`, but it
can apply to any mangled name.
Additionally, this updates some `std::string::find(...) == 0` calls in
the adjacent code to use `std::string::rfind(..., 0) == 0` as that bails
out of the string comparison as soon as the prefix does not match,
rather than continuing to search the entire string.
|
|
32-bit ELF binaries that are dynamically linked to the C++ runtime may
use a copy relocation for the vtable. The vtable itself will be defined
in the `.bss` section, and the copy relocation will cause the dynamic
linker to populate it at load time from the C++ runtime library.
Detect this by looking for a symbol pointing to the start of the vtable data,
two pointers before the vtable address.
|
|
|
|
|
|
|
|
1. Fix code related to SMI handlers
2. also parse handlers registered by SxDispatch and parse them together
3. Set Progress Text properly
|
|
Support all existing features in EFI Resolver,
1. Doesn't support running on existing BNDBs (though we tried to support
this in python plugins, it doesn't work well)
2. Perform analysis on MLIL rather than HLIL, previous pattern matching
on HLIL constains many false negatives
|
|
|
|
UEFI PEI modules often use IDTR to fetch the pointer to the pointer to
EFI_PEI_SERVICES. We can leverage binja's global register type for this
|
|
resource.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
named workflow
Activities are registered with a `viewType` predicate to ensure they
only run in shared cache views.
Adding activities to `core.function.metaAnalysis` lets activities
registered by plug-ins run in the shared cache without the plug-ins
having to be aware of the shared cache.
Work towards #6779.
|
|
|
|
This disables the filter for already added images, there is another check when we go to apply so that it fails early but the real issue is the fact this happened at all.
Within the Objective-C processor there is a call to `BeginUndoActions` which calls `ExecuteOnMainThreadAndWait`, while the objective-c processor is holding the lock to the controller.
To fix this we really need to make the undo action system not call `ExecuteOnMainThreadAndWait` which is deadlock city, to do that really the only solution is to make the `UndoBuffer` thread-safe and remove the calls to execute undo related stuff on the main thread, this will make it so that when a call to `BeginUndoActions` there is no requirement to wait on pending undo actions as they are all submitted immediately.
|
|
Add casts to HLIL_STRUCT_FIELD expressions where the size of the source
expression is greater than the size of access
|
|
and .from_core_variable
|
|
This is apart of https://github.com/Vector35/binaryninja-api/issues/6678
|
|
CI is complaining about it.
|
|
Return a Ref<_> so that the underlying core object will have its
reference count decremented when the caller drops the object.
|
|
Use mappingOffset as an upper bound for the header size, and avoid
reading any header fields from beyond that offset.
Co-authored-by: Mason Reed <mason@vector35.com>
|
|
|
|
underlying VirtualMemory
|
|
8267ab475cb2ac82fd3724c009f21e8e30143f6b introduced a logic error in
VirtualMemoryReader::ReadPointer that caused VirtualMemoryReader to
attempt to read pointers from the wrong address, breaking parsing of
Objective-C metadata.
|
|
introduced analysis is processed before pipeline completion.
|
|
|
|
|
|
|
|
|
|
It was throwing lots of messages if MLIL was not found
|
|
Forgot to free the `BNMetadataValueStore` object returned by core
|
|
|
|
BackgroundTask
|
|
|
|
|
|
|
|
Still need to fix branch island images not being picked up
|
|
Fixed branch island regions being skipped
|
|
|