summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-04-15Fix rustfmt check failure.Alexander Taylor
2026-04-15RISC-V: Special handling for 0000 (trap).Alexander Taylor
Some compilers will stick 0000 (an invalid instruction) after jumps or calls in a noreturn function, which we lifted as an invalid instruction. If our analysis didn't catch that the function is noreturn, it would trigger guided analysis mode for these functions due to the invalid instruction. This is a workaround that we've applied to x86 and aarch64 as well.
2026-04-15[bntl] Fix rpaths to not include an absolute path into the build directory ↵Mark Rowe
on macOS
2026-04-15Improve nullptr checks across Extensions API0cyn
2026-04-15Propegate nullptr on Repository::GetPluginByPath0cyn
2026-04-15[Python API] Replace bare "except:" with "except Exception:" to fix signal ↵Josh Ferrell
propagation
2026-04-15[Python API] Fix exception in LanguageRepresentationFunction.get_block_linesJosh Ferrell
2026-04-14Add description column to project browserJosh Ferrell
2026-04-14Allow project browser columns to be hiddenJosh Ferrell
2026-04-14Plugin Manifest V2 Support0cyn
2026-04-14[aarch64] Fix handling of ARM64_RELOC_GOT_LOAD_PAGEOFF12 and ↵Josh Ferrell
ARM64_RELOC_GOT_LOAD_PAGE21
2026-04-13[aarch64] Add support for ARM64_RELOC_BRANCH26, ARM64_RELOC_GOT_LOAD_PAGE21, ↵Josh Ferrell
ARM64_RELOC_GOT_LOAD_PAGEOFF12
2026-04-13[Thumb2] Fix IT instruction infoJosh Ferrell
2026-04-13types: fragment type API support (C++, Python)Ryan Snyder
2026-04-13[RTTI] Fix Itanium RTTI scan failing to symbolize objects with extern typeinfoMason Reed
The issue stems from the gnu3 demangler changing in https://github.com/Vector35/binaryninja-api/commit/260ca61d94134b6743807e29f64b5ce4f6918d73 Fixes https://github.com/Vector35/binaryninja-api/issues/8080
2026-04-08Fix crash with native architecture hooksBrandon Miller
2026-04-08Fix exception with Python architecture hooksBrandon Miller
2026-04-08add missing container trainsforms to the docsJordan Wiens
2026-04-08[ObjC] Don't undefine / redefine symbols and types that already exist in the ↵Mark Rowe
view This can cause functions to be reanalyzed unnecessarily when the view is loaded from a bndb. Fixes https://github.com/Vector35/binaryninja-api/issues/8051.
2026-04-08compress container browser previewJordan Wiens
2026-04-08update container browser previewJordan Wiens
2026-04-02add sentry open source licenseJordan Wiens
2026-04-02[Rust] Update open source licenses for 5.3Mason Reed
2026-04-01update settings for 5.3Jordan Wiens
2026-03-31[Python] Fix BinaryView.get_modification failing when passing a lengthMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/8046
2026-03-31Prevent a crash whenever readLEB128 is passed a nullptr0cyn
2026-03-30[DSC] Process Objective-C metadata when loading view from .bndbMark Rowe
The processed Objective-C metadata is not saved to the .bdnb. It must be recomputed when the view is loaded. Fixes https://github.com/Vector35/binaryninja-api/issues/8030.
2026-03-30Add a hook to allow BinaryView subclasses to run code after snapshot data is ↵Mark Rowe
applied Snapshot data is applied when loading from a database, rebasing the view, etc.
2026-03-30[ObjC] Set return type on objc_msgSend calls that send an init message to a ↵Mark Rowe
known class
2026-03-30[ObjC] Propagate types from objc_alloc_init and friendsMark Rowe
2026-03-30Fix compiler warnings seen with Clang 21Mark Rowe
2026-03-30This reverts commit 7228ba0b889765bc3474fbd5475870e24efc79ca.Brian Potchik
2026-03-29[PDB Import] Fix headless being prompted with an interaction for mismatched PDBMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7836
2026-03-29[SVD Import] Fix misc mapper issuesMason Reed
- Fix unordered register fields causing spurious __offset fields to be rendered for the structure - Fix registers overlayed onto an alternate register not being treated as a union Fixes https://github.com/Vector35/binaryninja-api/issues/7918
2026-03-29[SVD Import] Remove "add bitfield" settingMason Reed
We unconditionally add them now that bitfields are represented correctly in the type system
2026-03-27Fix crash in settings viewJosh Ferrell
2026-03-27Add VariableList::updateCrossReferences declarationPeter LaFosse
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27Ensure rounding flag is properly emitted on some x86 floating point instructionsPeter LaFosse
2026-03-27GNU3 Demangler: fix undefined evaluation order in expression buildersPeter LaFosse
Sequence reader-advancing calls into named locals before concatenating to avoid undefined evaluation order in operator+ chains (caused wrong output on MSVC/x86_64 GCC where operands evaluated right-to-left). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26GNU3 Demangler: fix float literal decoding to be platform-independentPeter LaFosse
Decode big-endian hex via union type-punning instead of casting bytes into native floats. Falls back to raw hex for NaN/Inf, long double, and __float128. Remove unused HexToDec helper. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26GNU3 Demangler: fix substitution tracking, expressions, and type namesPeter LaFosse
Substitution table and scoping: - Fix generic lambda auto parameters: save/replace m_templateSubstitute with 'auto' placeholders for lambda-local T_/T0_/T1_ resolution - Fix local-name template scoping with m_inLocalName flag - Fix substitution table off-by-one for all-type template args - Fix pointer-to-member type (case 'M'): set substitute=true per ABI - Fix multi-character seq-id parsing (S10_, S11_, etc.) - Fix DemangleUnresolvedType decltype (DT/Dt) prefix consumption - Add forward template ref support for cv conversion operators - Fix sr qualifier-list PushType and conditional E handling - Fix multi-level sr scope resolution without N prefix - Fix sr + unscoped template substitution table tracking - Fix I...E argument pack handling (GCC I...E vs J...E) - Fix Dp pack expansion to show '...' for concrete types Expression formatting: - Fix L_Z embedded mangled name template scope isolation - Handle LZ<encoding>E function address template args - cl expression: callable(args) format with function substitute tracking - dt/pt expressions: obj.member and obj->member directly - fp_/fp<N>_ placeholders in decltype return types - Fix fL function-param scope validation - Fix DemangleBaseUnresolvedName 'on' prefix consumption Type names (Itanium ABI spec compliance): - x/y: "long long"/"unsigned long long" - a: "signed char" (distinct from 'c' = "char") - n/o: "__int128"/"unsigned __int128" - g: "__float128" via FloatType altName - Dd/Df/De: "decimal64"/"decimal32"/"decimal128" - Dh: "_Float16" - Dp: always show "..." for pack expansion - Fix 'n' literal: __int128 not __uint128 - Fix dot extension spacing Cleanup: - Remove unused NextIsOneOf, ReadUntil, DemangleInitializer - Guard GetRaw/GetTemplateType/PrintTables behind GNUDEMANGLE_DEBUG - Remove unreachable GetNameType C/D cases - Remove dead BinaryExpression "." check Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26GNU3 Demangler: implement new construct supportPeter LaFosse
New special-name and type demangling: - GTt/GTn: GCC transaction clone symbols - TH/TW: TLS init and wrapper functions - Tc: covariant return thunks with dual call-offset parsing - Demangle _block_invoke symbols (Clang/Apple block invocations) - Intel Vector Function ABI (_ZGV) with ISA, mask, vlen, parameter kind parsing; z/Z guard variable disambiguation - Vendor-extended type (U <source-name>) for Objective-C block pointers - Lowercase vendor type (u <source-name>) for __remove_cvref etc. - GR <object name> reference temporary demangling - macOS $tlv$init thread-local variable initializer suffix - Fix typeinfo rendering to avoid duplicated name in output New operator and constructor support: - ABI tag (B <source-name>) consumption in DemangleUnqualifiedName, DemangleNestedName, and DemangleFunction - CI1/CI2 inheriting constructors with m_lastName save/restore - M data-member-prefix in DemangleNestedName for lambdas in data member initializers - operator<=> (spaceship) in GetOperator and DemangleUnqualifiedName Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26Rewrite GNU3 demangler for performance using DemangledTypeNodePeter LaFosse
Replace the TypeBuilder-based demangling path with a lightweight DemangledTypeNode representation that defers type object construction until the symbol is fully parsed. This avoids repeated heap allocation and ref-count churn during recursive descent. Key changes: - Add DemangledTypeNode / demangled_type_node.{h,cpp}: a compact IR that mirrors the type grammar without allocating BN Type objects - Use a thread_local demangler instance to amortize vector allocations across calls - Also commonize some of the demangled string length calculations. Result: ~3x throughput improvement on a 180K-symbol corpus with 97.7% success rate (matching the previous implementation). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26[IDB Import] Update documentationMason Reed
2026-03-26[WARP] More documentation updates and python examplesMason Reed
2026-03-25[Rust] Remove unneeded deployments for CI testsMason Reed
This used to be required when using scoped secrets from an environment but recently changed this month. https://github.blog/changelog/2026-03-19-github-actions-late-march-2026-updates/
2026-03-25[IDB Import] Fix some misc bugsMason Reed
- In certain IDBs the loading base is zeroed but the info is not relative, in this case we now fallback to rebasing based off the lowest section address specified by `min_ea`. - In certain IDBs the info is relative, we ignore both the loading base and `min_ea` and compute the absolute address using the base address in the binary view - Fixed data exports being recognized as functions - Retrieve post, pre comments from dirtree - Fix mapping in extern section (which is tool specific in how it is setup) - Properly mark exported data as global binding
2026-03-25[IDB Import] Fix file dialog filter separating out each extensionMason Reed
Caused the resulting dialog to have a drop down that you must select to get to *.i64, which is an extra unneeded step
2026-03-24[WARP] Sanitize server URLsMason Reed
2026-03-24[BNTL] Fix misc doc comments missingMason Reed