Skip to content

Tags: Vector35/binaryninja-api

Tags

dev/6.1.10691

Toggle dev/6.1.10691's commit message
[ARMv7] Expand ARM and Thumb SIMD and VFP lifting

Add lifting for vector comparisons, bitwise operations, widening and
narrowing moves, multiply-long, negation, pairwise addition, shifts,
swaps, transposes, tests, and interleaving operations. Use dedicated
intrinsics for lane-wise operations and explicit IL for bitwise
operations, register swaps, and scalar floating-point negation.

Correct SIMD decoding, signedness, immediate types, D/Q operand widths,
and reserved encodings. Support ARMv8 VMULL.P64 polynomial products.

Add FLDMDBX/FLDMIAX and FSTMDBX/FSTMIAX lifting, accounting for the
unused trailing word in addressing and writeback. Correct Thumb
decoding of these forms, including SP-based transfers.

dev/6.1.10684

Toggle dev/6.1.10684's commit message
Eliminate polling latency in BinaryView search generators.

dev/6.1.10682

Toggle dev/6.1.10682's commit message
Unify the navigation paths between graph/linear views, and improve de…

…rived string navigation

dev/6.1.10679

Toggle dev/6.1.10679's commit message
Unify the navigation paths between graph/linear views, and improve de…

…rived string navigation

dev/6.1.10677

Toggle dev/6.1.10677's commit message
Rename the API struct conversion interface to use APIStruct names

Value types convertible to their C API structures now use methods named
`ToAPIStruct`, `FromAPIStruct`, and `FreeAPIStruct`. The `APIAble` trait
is renamed to `APIStruct`.

This frees up the `APIObject` naming to be used for representing non
value type objects in the future.

dev/6.1.10668

Toggle dev/6.1.10668's commit message
Rename the API struct conversion interface to use APIStruct names

Value types convertible to their C API structures now use methods named
`ToAPIStruct`, `FromAPIStruct`, and `FreeAPIStruct`. The `APIAble` trait
is renamed to `APIStruct`.

This frees up the `APIObject` naming to be used for representing non
value type objects in the future.

dev/6.1.10667

Toggle dev/6.1.10667's commit message
Add bn::base::DynamicLibrary, an abstraction over runtime loading of …

…shared libraries

`bn::base::DynamicLibrary` opens a shared library at runtime and unloads
it when the object is destroyed. The platform handle can be handed off
with `Release()` when the library should remain loaded indefinitely.
`Open()` returns either the library or the platform's description of why
it could not be loaded.

`SymbolScope` chooses whether `GetSymbol()` also resolves symbols from
the libraries that the loaded library links against. Each platform
restricts this differently, so macOS passes `RTLD_FIRST` to `dlopen()`,
other Unixes check which image defines each symbol, and Windows only
ever searches the module itself.

dev/6.1.10664

Toggle dev/6.1.10664's commit message
[MIPS] Expand floating-point, coprocessor, and shuffle lifting

- Add scalar and paired-single FP arithmetic and conditional moves
- Lift TRUNC/ROUND/CEIL/FLOOR.W/L.S/D with fixed rounding semantics
- Model paired-single arithmetic and per-lane conditional moves with
  intrinsics
- Decode and lift ALIGN/DALIGN and BITSWAP/DBITSWAP
- Lift JALX, coprocessor zero-test branches, and PREFX
- Model COP2 operations, control/high-word transfers, and shadow GPR
  access with intrinsics
- Preserve branch inputs across conditional and split-register
  delay-slot writes
- Expand lifting regressions for endianness, register modes, aliasing,
  zero registers, and delay slots

dev/6.1.10662

Toggle dev/6.1.10662's commit message
[MIPS] Expand floating-point, coprocessor, and shuffle lifting

- Add scalar and paired-single FP arithmetic and conditional moves
- Lift TRUNC/ROUND/CEIL/FLOOR.W/L.S/D with fixed rounding semantics
- Model paired-single arithmetic and per-lane conditional moves with
  intrinsics
- Decode and lift ALIGN/DALIGN and BITSWAP/DBITSWAP
- Lift JALX, coprocessor zero-test branches, and PREFX
- Model COP2 operations, control/high-word transfers, and shadow GPR
  access with intrinsics
- Preserve branch inputs across conditional and split-register
  delay-slot writes
- Expand lifting regressions for endianness, register modes, aliasing,
  zero registers, and delay slots

dev/6.1.10660

Toggle dev/6.1.10660's commit message
[MIPS] Expand floating-point, coprocessor, and shuffle lifting

- Add scalar and paired-single FP arithmetic and conditional moves
- Lift TRUNC/ROUND/CEIL/FLOOR.W/L.S/D with fixed rounding semantics
- Model paired-single arithmetic and per-lane conditional moves with
  intrinsics
- Decode and lift ALIGN/DALIGN and BITSWAP/DBITSWAP
- Lift JALX, coprocessor zero-test branches, and PREFX
- Model COP2 operations, control/high-word transfers, and shadow GPR
  access with intrinsics
- Preserve branch inputs across conditional and split-register
  delay-slot writes
- Expand lifting regressions for endianness, register modes, aliasing,
  zero registers, and delay slots