Re: [DynInst_API:] [dyninst/dyninst] aa0880: Correct interpretation of Intel instructions requires


Date: Fri, 17 Feb 2023 05:28:49 -0600
From: Barton Miller <bart@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] [dyninst/dyninst] aa0880: Correct interpretation of Intel instructions requires
This is such a classic bug. We teach about this in our Software Security class (where it can often lead to vulnerabilities). Good catch.

--bart

On 2/16/2023 3:51 PM, Bolo -- Josef Burger wrote:
   Branch: refs/heads/bolo/x86_immed
   Home:   https://github.com/dyninst/dyninst
   Commit: aa088045d3721819b705f6505608bd229dbc64d1
       https://github.com/dyninst/dyninst/commit/aa088045d3721819b705f6505608bd229dbc64d1
   Author: Bolo <bolo@xxxxxxxxxxx>
   Date:   2023-02-16 (Thu, 16 Feb 2023)

   Changed paths:
     M common/src/arch-x86.h
     M instructionAPI/h/Result.h

   Log Message:
   -----------
   Correct interpretation of Intel instructions requires
sign extension.   On intel it works because chars are
signed on that platform.   On other platforms (arm64, powerpc64)
intel code was not correctly analyzed because incorrect
values were generated from 8 bit immediate constants;
which were interpreted as unsigned on those systems.

These changes ensure intel code will be correctly interpreted
on any system, regardless of the signedness of chars.

A n-way validation was used to validate this change, to
ensure that correct code interpretation of (intel, arm,
power) code happens on all three platforms.    No other
issues of this nature were located -- at this time.


_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
[← Prev in Thread] Current Thread [Next in Thread→]