| Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
Finish verifying VMI base class info before applying data variable and symbol
|
|
|
|
The vft will have a few fields above it, we did not verify that when we read those fields that they were readable.
Fixes https://github.com/Vector35/binaryninja-api/issues/6694
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/6692
|
|
Also adds more information to the progress text when processing vfts for both msvc and itanium
|
|
Some missing checks in case there is a billion segments (see .obj files)
|
|
If the background task gets stuck, this is the commit to ponder at
|
|
Not even going to check the git blame i know this was committed at 3 in the morning
|
|
32bit support still needs some fixes for the VMI offsets and other things, but its better than it was before.
Likely need to do a little refactoring after this release to make the code less horrendous, but its fine for now.
|
|
We really need a IsValidRange function
|
|
I have a heavy dislike for this, but I also don't really have a better way of doing this without merging the VFT processing.
|
|
No reason to show this every time you load a binary, if someone feels strongly about seeing this say something!
|
|
Bunch of misc fixes and performance improvements
|
|
Also allows for both processors to be ran for a single binary
|
|
Still needs to support edge cases and multiple vtables, as well as naming needs to be adjusted
|
|
|
|
|
|
|