Skip to content

Incorrect tokenization of HLIL_STRUCT_FIELD in PseudoC and PseudoRust  #6946

Open
@whitequark

Description

@whitequark

Version and Platform (required):

  • Binary Ninja Version: 5.1.7598-test Ultimate (0e5168d7)
  • Edition: Ultimate
  • OS: Debian Linux
  • OS Version: 13
  • CPU Architecture: x86_64

Bug Description:
Lifter creates a dereference of a floating point value that was not in the disassembly. For some reason, the vcvt.s32.f32->vmov->sxth chain generates a pointer dereference.

Image

Image

Image

Pseudo C (note the dereference; unfortunately not readable at all):

Image

Pseudo Rust (note the deference):

Image

Steps To Reproduce:

  1. Open attached BNDB

Expected Behavior:
Binary Ninja to not make up dereferences of floating point values.

Binary:
bug_vfp.zip

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions