iximeow / yaxpeax-x86

x86 decoders for the yaxpeax project
BSD Zero Clause License
132 stars 23 forks source link

`CALL ptr16:16/ptr16:32` is not decodable in protected or real mode #22

Closed i509VCB closed 2 years ago

i509VCB commented 2 years ago

Per the Intel manual, there is a valid Opcode in Compat/Legacy mode at 0x9A.

This does not return a Opcode::CALL in real mode or protected mode decoders:

Long mode appears to be correct.

Screenshot_20220411_221715

iximeow commented 2 years ago

well, that's a little awkward. i assume the immediate address encoding must have been removed in the change because they considered an 8-byte address to be unwieldy or something (fair?)

didn't know the 9a encoding existed at all.. i suppose yaxpeax-x86 would benefit from differential fuzzing too.

iximeow commented 2 years ago

ok! finally found the time to add this encoding. 073d3b36 if you track git directly, or hopefully i'll get a new 1.1.5 release up shortly if you're using a cargo dep.