DynamoRIO / DynamoRIO/dynamorio

consider cpuid features when deciding invalid instrs

Open
#431 2 comments 0 reactions 0 assignees View on GitHub
Migrated Priority-Low Type-Feature
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on April 11, 2011 10:37:32_

currently the DR encoder will not consider a new opcode as invalid
when running on an older processor that does not have that feature.
this isn't a serious problem for DR itself since the right thing
will happen when treating an invalid instr as valid: it's the other way
around that causes often-fatal problems.
but for DR as a disassembly library and for precision it would be nice
to consider the cpuid features of the current processor. the feature
set to assume may have to become a global setting when decoding statically.

_Original issue: http://code.google.com/p/dynamorio/issues/detail?id=431_

Contributor guide

Open the contributing guide

Research direction

Start with the DR encoder and disassembly-library behavior described in the issue, then trace how CPUID features are currently represented when deciding whether an instruction is invalid. Done means the handling distinguishes processor-supported features from statically selected features, with the intended behavior made verifiable.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.