DynamoRIO / DynamoRIO/dynamorio

x86_64 encoder does not report unencodable register operands.

Open
#6,201 3 comments 0 reactions 0 assignees View on GitHub
Component-IR
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

**Describe the bug**
Originally discussed in https://groups.google.com/g/dynamorio-users/c/YKG_b8R8LoE/m/OGTTOv8LBAAJ.

The register operand `%ah` can not be encoded in instructions like `mov (%r13)[1byte] -> %ah` because the REX prefix is needed to encode `%r13`.
Instead of reporting this error, the encoder silently encodes it into `mov 0x00(%r13)[1byte] -> %spl`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.