You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The FormatterATT module appends the operand-size suffix for instruction using VSIB.
For instance, the opcode c42289914c3afc is disassembled as vpgatherqqq %xmm14, -0x04(%rdx,%xmm15,1), %xmm9.
Yet, in case of vpgather, the operand-size is already part of the mnemonic. The extra suffix makes the printed disassembly invalid.
I am not sure, but I think it is the same for other mnemonics using a VSIB operand.
This could be a potential fix, but we have to check all VSIB instructions first to be sure this doesn't break anything (aka making sure that the mnemonics always include the size suffix natively).
This could be a potential fix, but we have to check all VSIB instructions first to be sure this doesn't break anything (aka making sure that the mnemonics always include the size suffix natively).
This seems to be the case. At least for now all VSIB instructions have mandatory OSIZE prefix.
Dear developers,
The
FormatterATT
module appends the operand-size suffix for instruction usingVSIB
.For instance, the opcode
c42289914c3afc
is disassembled asvpgatherqqq %xmm14, -0x04(%rdx,%xmm15,1), %xmm9
.Yet, in case of
vpgather
, the operand-size is already part of the mnemonic. The extra suffix makes the printed disassembly invalid.I am not sure, but I think it is the same for other mnemonics using a
VSIB
operand.Would it make sense to remove the second case here ?
https://github.com/zyantific/zydis/blob/bffbb610cfea643b98e87658b9058382f7522807/src/FormatterATT.c#L306C14-L306C15
Regards,
The text was updated successfully, but these errors were encountered: