Open reversing-dev opened 7 months ago
I have created a simpler binary to reproduce this:
Looking at the expression type, it seems that we correctly deduce the type of arr[0] is the enum, we just fail to propagate that to the right side of the comparison
If I look at the MLIL, if explains:
>>> current_il_instruction
<MediumLevelILSetVarField: arr[0] = 1>
>>> current_il_instruction.dest
<var enum foobar arr[0x3]>
>>> current_il_instruction.dest.type
<type: immutable:ArrayTypeClass 'enum foobar[0x3]'>
Version and Platform (required):
Bug Description:
Initial analysis:
After fixing the array size, the initial enum name is lost:
Expected output: (I had to map each enum val to name manually)
Also, if it's possible to default select the last used enum in the Select Enum dialogue box it will be useful in similar scenarios.