binaryninja-api icon indicating copy to clipboard operation
binaryninja-api copied to clipboard

Ignoring the RHS value type in HLIL

Open mostobriv opened this issue 1 year ago • 1 comments

Version and Platform (required):

  • Binary Ninja Version:4.2.6204-dev Personal (2277d8cd)

Bug Description: HLIL just ignores the type of expression in variable declaration. In attached database you can see the function at 0x1800B8390, there is some boiler-plate repetitive code patterns, and at the beginning of the function it works fine (there is gNetworkMessagesVersion001_2 has been propagated with correct type from gNetworkMessagesVersion001): image

But if scroll down a bit, HLIL just starting to ignore the type of gNetworkMessagesVersion001 variable, setting local var to void* instead of proper type as earlier in function: image

Steps To Reproduce: Please provide all steps required to reproduce the behavior:

  1. Open attached database
  2. Go to 0x1800B8390 func
  3. 0x1800b847a - example of correct definition
  4. 0x1800b8cca - from there starts the wrong ones

Expected Behavior: Not sure, mb it the expected already and to fix this i should tweak some of the limits settings, but function not looks to big for me, to reach the default analysis limits. So i think the expected behaviour should be to propagate correct type in the whole function.

Binary: The archive is to big for uploading it on github, i've sent it to binaryninja at vector35.com

mostobriv avatar Oct 16 '24 08:10 mostobriv

Thanks for the report. Binary available internally asgiggle sapphire whisper.

psifertex avatar Oct 18 '24 16:10 psifertex

Fixed in 5.2.8458

plafosse avatar Oct 23 '25 16:10 plafosse