| Age | Commit message (Collapse) | Author |
|
|
|
|
|
For when you have a token and want to auth with it directly
|
|
Adds a new recognize_constant_data method to the StringRecognizer API,
enabling plugins to decode constant data expressions (HLIL_CONST_DATA)
recovered by the outline resolver. The recognizer receives the full
instruction, giving access to the data buffer and builtin type via the
constant_data accessor.
Also fixes a pre-existing ctypes mismatch in get_constant_data_and_builtin
where BNBuiltinType (uint8_t) was incorrectly passed as c_int.
|
|
|
|
Add a `getCallInstructionAddress` helper that maps from view highlight
state to the address of the corresponding call instruction, if one is
highlighted. This logic was previously duplicated between `LinearView`
and `FlowGraphWidget`.
|
|
Loading over SSH breaks GitHub Actions, which does not have an SSH key configured
|
|
This allows it to be compiled into statically linked builds without
causing ODR violations.
|
|
|
|
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.
|
|
on macOS
|
|
|
|
|
|
propagation
|
|
|
|
|
|
|
|
|
|
ARM64_RELOC_GOT_LOAD_PAGE21
|
|
ARM64_RELOC_GOT_LOAD_PAGEOFF12
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/8046
|
|
|
|
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.
|
|
applied
Snapshot data is applied when loading from a database, rebasing the
view, etc.
|
|
known class
|
|
|
|
|
|
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/7836
|
|
- 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
|
|
We unconditionally add them now that bitfields are represented correctly in the type system
|
|
|
|
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|