summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-02-04Do not call callbacks on IL instruction when the instruction index is ↵Xusheng
invalid. Fix https://github.com/Vector35/binaryninja-api/issues/6320
2025-02-03Fix leak in Render Layer apiGlenn Smith
2025-02-03Greatly improve performance of memory map viewJosh Ferrell
2025-02-03update enumeration example api docsJordan Wiens
2025-02-03Add option to support auto parsing text formats.Brian Potchik
2025-02-03Fix 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-02Fix Rust apply_to_linear_object logic applying non basic block backed disasm ↵Mason Reed
lines
2025-02-02Fix upper 16 registers not being listed in ARMv7 register list operandMason Reed
Fixes #6383
2025-02-02Fix QualifiedName being leaked in function UserTypeReference related functionsMason Reed
2025-02-02Fix crash in dwarf import when no constant value attribute found for enumerationMason Reed
Fixes #6382
2025-01-31Update IDB import to idb-rs 0.1.9rbran
2025-01-31Fix double free in CoreCallingConvention::callee_saved_registersMason Reed
Also added an assertion in the types unit test to catch it Fixes #6379
2025-01-31Remove the push trigger on Rust testing CIMason Reed
This is still being triggered by non-rust commits, need to look into this further later. Fixes #6378
2025-01-31Update Render Layer registration in Rust APIMason Reed
The unit tests were not updated and the enum was kept with extremely long names, so I just added a simple wrapper.
2025-01-31Remove FlowGraphNode lifetime in Rust APIMason Reed
2025-01-31Fix misc clippy lintsMason Reed
2025-01-31Add lock on enterprise checkout code in Rust APIMason Reed
This is being done as a preventative measure against possible races in checkout code. This is more so just peace of mind, the enterprise code that is touched in this function only locks on a single mutex so this is probably useless, but I would rather have this assurance than have to debug some issue in this code.
2025-01-31Improve headless initialization in Rust APIMason Reed
- Add option to disable loading of user and repo plugins - Prevent shutting down the core while other sessions are still running The reason we need to prevent shutting down the core is if one session is dropped and another session has worker actions queued than they would be cleared prematurely, and also the enterprise license would be revoked prematurely as well.
2025-01-31Add LLIL_REG_STACK_POP and LLIL_REG_STACK_PUSH to Rust APIMason Reed
These were unhandled and x87 register stack LLIL would emit a bunch of warnings
2025-01-31Rust remove function ref from HighLevelILLiftedInstruction impl DebugMason Reed
2025-01-31Update Render Layer docs and type annotationsGlenn Smith
2025-01-30Render LayersGlenn Smith
2025-01-30[SharedCache] Vision Pro, tvOS, iOS Simulator supportkat
2025-01-28Merge branch 'fix_6370_HighlightColor_init_sets_wrong_attribute' into devGalen Williamson
2025-01-28Fixes #6370: HighlightColor.__init__ attempts to set a property with no setterGalen Williamson
2025-01-28Add CursorPosition::operator<=Josh Ferrell
2025-01-28Fix `BnStrCompatible` impl for `&Path`Michael Krasnitski
2025-01-27Update some rust impl DebugMason Reed
If a function had a tag it would recurse cyclicly
2025-01-27Fix building rust tests in demo modeMason Reed
2025-01-27Fix some rust race conditions and comment some likely suspectsMason Reed
FYI The binary view saving stuff can deadlock right now, so we document that now :/
2025-01-27[SharedCache] Optimize `ReadExportNode`Mark Rowe
`ReadExportNode` is called a lot during the initial load of the shared cache and thus impacts how long it takes for the UI to become responsive. This is a collection of optimizations that cut the time spent within `ReadExportNode` by 50%: 1. Pass iterators to `ReadExportNode` rather than a `DataBuffer` + offset. The lack of inlining in `DataBuffer`'s `operator[]` kills performance. Ideally this would have used `std::span`, but that would require bumping the minimum C++ version to C++20. 2. Add `MMappedFileAccessor::ReadSpan` so that `ReadExportNode` can operate directly on the mapped data without first copying it. 3. Removes a call to `GetAnalysisFunctionsForAddress` whose result was unused. 4. Use `std::find` to find the nul at the end of strings rather than assembling the string a character at a time. This avoids repeatedly growing the string. 5. Avoid the usual `Symbol` constructor in favor of `BNCreateSymbol`. The `Symbol` constructor has over head in two forms: 1. It has a `NameSpace` as an argument. Creating / destroying this allocates and deallocates memory We could create a single instance and reuse it for all calls, but... 2. The constructor copies all fields of the `NameSpace` to the heap before calling `BNCreateSymbol` and then deallocates them afterwards. This seems unnecessary, and adds a non-trivial amount of overhead. This can go back to directly constructing the `Symbol` once the constructors are improved.
2025-01-27Port sharedcache view to MemoryRegions, removing the need for the fake Raw ↵kat
view workaround
2025-01-27Update idb_import to 0.1.8rbran
2025-01-27Add `StructureBuilder::current_width`Mason Reed
This was removed as the usage was problematic to say the least, adding it back with a warning
2025-01-27Update rust CI to not catch new branch pushesMason Reed
2025-01-27Fix rust EnumerationBuilder method return typesVisual Ehrmanntraut
2025-01-25Fix some invalid links in README.mdMason Reed
2025-01-25Fix incorrect immutable borrow for EnumerationBuilderMason Reed
2025-01-25MSVC RTTI: Narrow when pClassHierarchyDescriptor is recursed intonullableVoidPtr
2025-01-25MSVC RTTI: Recursively define ClassHierarchyDescriptorsnullableVoidPtr
This will better define base classes without a CompleteObjectLocator associated with it
2025-01-25MSVC RTTI: Fix typo on pClassHierarchyDescriptornullableVoidPtr
2025-01-25MSVC RTTI: Define attribute enumerations for Base Class Descriptors and ↵nullableVoidPtr
Class Hierarchy Descriptors
2025-01-25Bump `thiserror` and `itertools`Mason Reed
2025-01-25Misc rust formattingMason Reed
2025-01-25Add missing documentation to _with_progress load functionsMason Reed
2025-01-25Add `Session::load_with_progress` and `Session::load_with_options_and_progress`Mason Reed
2025-01-25Fix statically linking PDB import plugin for demo buildsMason Reed
2025-01-25Fix collaboration support checks in rust unit testsMason Reed
2025-01-25Add missing rust test binaryMason Reed
This was causing the CI to fail!
2025-01-25Update .gitignore to allow rust text binary fixturesMason Reed