Messages in this thread | | | Date | Fri, 5 May 2017 19:28:47 +0200 | From | Borislav Petkov <> | Subject | Re: [v6 PATCH 08/21] x86/insn-eval: Add utility function to get segment descriptor base address |
| |
On Wed, Apr 26, 2017 at 03:52:41PM -0700, Ricardo Neri wrote: > Probably insn_get_seg_base() itself can verify if there are segment > override prefixes in the struct insn. If yes, use them except for > specific cases such as CS.
... and depending on whether in long mode or not.
> On an unrelated note, I still have the problem of using DS vs ES for > string instructions. Perhaps instead of a use_default_seg flag, a > string_instruction flag that indicates how to determine the default > segment.
... or you can look at the insn opcode directly. AFAICT, you need to check whether the opcode is 0xa4 or 0xa5 and that the insn is a single-byte opcode, i.e., not from the secondary map escaped with 0xf or some of the other multi-byte opcode maps.
-- Regards/Gruss, Boris.
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --
| |