| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-02-10 | [SharedCache] Optimizations regarding stl container usage in SharedCache.cpp | kat | |
| 2025-02-10 | Fix some issues regarding allocations within the sharedcache plugin FFI | kat | |
| 2025-02-10 | [SharedCache] Make `m_exportInfos` map's values a `shared_ptr` | WeiN76LQh | |
| This avoids expensive copying when returning a value from the map in `SharedCache::GetExportListForHeader`. Additionally it ensures that the value stays alive and at the same location in memory if `m_exportInfos` is modified and requires its storage to be re-allocated. I was unable to use a `unique_ptr` instead of a `shared_ptr` because of copy semantics with `m_exportInfos` in `ViewStateCacheStore`. I don't see things being any worse using `shared_ptr` instead of `unique_ptr` anyway and it means less code changes. | |||
| 2025-02-10 | [SharedCache] Only setup undo actions and bulk modify in ↵ | WeiN76LQh | |
| `SharedCache::FindSymbolAtAddrAndApplyToAddr` if a symbol is found | |||
| 2025-02-10 | [SharedCache] Improve the types for `m_exportInfos` | WeiN76LQh | |
| This commit changes 2 things; 1. `m_exportInfos` is now a map where its values are also a map rather than a vector of pairs. The reason for this is that `SharedCache::FindSymbolAtAddrAndApplyToAddr` is a hot path which does by far the most accesses to `m_exportInfos`. In that function it must find the correct symbol for a given address so a map lookup will be much quicker than iterating a vector. The other use cases of `m_exportInfos` would prefer a vector but they are executed very infrequently. 2. The symbols are stored in `m_exportInfos` as references to the `Symbol` type. This makes more sense because otherwise there is a lot of time spent converting to and from a `Symbol` type and a pair of `BNSymbolType` + a `std::string`. | |||
| 2025-02-10 | [SharedCache] Add parameter to `SharedCache::InitializeHeader` to check if ↵ | WeiN76LQh | |
| `m_exportInfos` was modified This probably makes more sense than the current solution of using execution of the callback parameter to determine if `m_exportInfos` was modified. | |||
| 2025-02-10 | [SharedCache] Use `m_exportInfos` as an export list cache | WeiN76LQh | |
| `SharedCache::ParseExportTrie` is getting called a lot during DSC library loading and analysis. In large part due to the hot path `SharedCache::FindSymbolAtAddrAndApplyToAddr`. Its unnecessary for it to be being called more than once per DSC header as the export list symbol information is stored in `SharedCache::m_exportInfos`. This commit adds the function `SharedCache::GetExportListForHeader`, which will either return the header's list of symbol information cached in `SharedCache::m_exportInfos` or call `SharedCache::ParseExportTrie` and cache the results in `SharedCache::m_exportInfos`. This should also improve the execution time of `SharedCache::LoadAllSymbolsAndWait`. Further improvement here would be to add locking to `SharedCache::GetExportListForHeader` so that races don't result in redundant parsing of the export trie for the same header if multiple threads call `SharedCache::GetExportListForHeader` at the same time for the same header. This only really matters during initial loading because from what I can tell that parses all the export trie's anyway. | |||
| 2025-02-07 | Fix misc Rust example unused var | Mason Reed | |
| 2025-02-07 | Implement Rust BaseAddressDetection | Rubens Brandao | |
| 2025-02-07 | Implement Rust DisassemblyTextRenderer | Rubens Brandao | |
| 2025-02-07 | Implement Rust WebsocketProvider | Rubens Brandao | |
| 2025-02-07 | Fix incorrect casts in Rust RepositoryPlugin | Mason Reed | |
| Was causing linux arm builds to fail | |||
| 2025-02-07 | Add server error to EnterpriseCheckoutError::RefreshExpiredLicenseFailed | Mason Reed | |
| 2025-02-07 | Move session registration for Rust headless initialization to be immediate | Mason Reed | |
| This fixes a possible race if another thread can successfully shutdown before the current thread can register its session | |||
| 2025-02-07 | Fix Rust LinearDisassemblyLine not freeing properly | Mason Reed | |
| 2025-02-07 | Update types Rust test to check for type deletion | Mason Reed | |
| 2025-02-07 | Fix secrets_provider Rust tests failing for enterprise builds | Mason Reed | |
| Try and just initialize once | |||
| 2025-02-06 | Update Rust tests to respect image base | Mason Reed | |
| 2025-02-06 | Fix BinaryReader and BinaryWriter not respecting image base in Rust API | Mason Reed | |
| 2025-02-06 | Fix rust decompile example | Mason Reed | |
| 2025-02-06 | Misc rust API formatting | Mason Reed | |
| 2025-02-06 | Fix double ref increment for misc Repository C++ APIs | Mason Reed | |
| Noticed these when reviewing the Rust Repository API | |||
| 2025-02-06 | Correctly quote the string in the Debug impl for BnString | Mason Reed | |
| 2025-02-06 | Implement Rust Repository | Rubens Brandao | |
| 2025-02-06 | Implement Rust SecretsProvider | Rubens Brandao | |
| 2025-02-06 | Add ability to query IL functions in FlowGraph for Rust API | Mason Reed | |
| 2025-02-06 | Add simple type to view test for Rust API | Mason Reed | |
| 2025-02-06 | [mips] Fix decoding of MIPS ds*32 instructions, add lifting for MIPS drotr* ↵ | Galen Williamson | |
| instructions; clean up some warnings in powerpc/il.cpp | |||
| 2025-02-06 | Add After variants for looking up variables at instructions | Glenn Smith | |
| Fixes #6397 | |||
| 2025-02-05 | fix mis-named type library action in docs | Jordan Wiens | |
| 2025-02-05 | correct user/auto api differences explanation | Jordan Wiens | |
| 2025-02-05 | Stop importing Type Archive types in parse_type_string | Glenn Smith | |
| CC Vector35/binaryninja-api#6235 | |||
| 2025-02-05 | Fixes: Unsupported ELF relocations: R_ARM_THM_MOVW_ABS_NC, ↵ | Galen Williamson | |
| R_ARM_THM_MOVT_ABS #6215 | |||
| 2025-02-05 | Search item descriptions in project browser | Josh Ferrell | |
| 2025-02-04 | Fixes `Architecture._get_stack_pointer_register` to return 0 instead of None ↵ | Galen Williamson | |
| when unimplemented to prevent ctypes error | |||
| 2025-02-04 | Update to Qt 6.8.2 | Rusty Wagner | |
| 2025-02-04 | Fix misc rust formatting | Mason Reed | |
| 2025-02-04 | Fix crash with unnamed function self reference in DWARF import | Mason Reed | |
| 2025-02-04 | Avoid crashing when initial type parse fails in DSCView | kat | |
| 2025-02-04 | Firmware Ninja relationships API | Brandon Miller | |
| 2025-02-04 | Do not call callbacks on IL instruction when the instruction index is ↵ | Xusheng | |
| invalid. Fix https://github.com/Vector35/binaryninja-api/issues/6320 | |||
| 2025-02-03 | Fix leak in Render Layer api | Glenn Smith | |
| 2025-02-03 | Greatly improve performance of memory map view | Josh Ferrell | |
| 2025-02-03 | update enumeration example api docs | Jordan Wiens | |
| 2025-02-03 | Add option to support auto parsing text formats. | Brian Potchik | |
| 2025-02-03 | Fix documentation around `LLIL_MUL` | Dusk Banks | |
| `mul` is aligned with at least what x86 returns for tokens. Signed-off-by: Dusk Banks <me@bb010g.com> | |||
| 2025-02-02 | Fix Rust apply_to_linear_object logic applying non basic block backed disasm ↵ | Mason Reed | |
| lines | |||
| 2025-02-02 | Fix upper 16 registers not being listed in ARMv7 register list operand | Mason Reed | |
| Fixes #6383 | |||
| 2025-02-02 | Fix QualifiedName being leaked in function UserTypeReference related functions | Mason Reed | |
| 2025-02-02 | Fix crash in dwarf import when no constant value attribute found for enumeration | Mason Reed | |
| Fixes #6382 | |||
