IDA 7 byte sized operands listed as size 3
Closed this issue · 3 comments
In IDA version 7, idaapi.dt_3byte == idaapi.dt_byte
. This is causing all byte operands to be listed as size 3 instead of size 1.
I believe the issue could be fixed by reversing the order to idaapi.dt_byte and idaapi.dt_3byte in the sark.code.base.DTYP_TO_SIZE
dictionary.
As an aside, there is no dt_3byte
in the ida_ua
module, which I believe is the module containing all the dt_*
fields in the idaapi reorganization HexRays did.
I've sent an email to HexRays about this issue as well. I can share any updates they give me here.
This also breaks accessing the register name for byte sized registers.
This is because the incorrect size is being passed to base.get_register_name
from Operand.reg
.
Received a response from Hex Rays:
Yes, we removed the 3byte operand type from IDA. It is not really used in any processor modules except one or two, where we reimplemented it as a custom data type. Feel free to remove all references to it from your source code.