These commits implements stack modifications, which allow users to modify
the stack frame layout of a function by inserting, removing, or moving
stack space. Stack modifications are implemented on x86 and
x86-64. Further, we provide the ability to insert stack canaries
(Linux-only) or to randomize the local variables in a stack frame (requires
local variable information, e.g., DWARF).

Note: stack modifications are based on the abstraction of stack locations,
not the contents of these locations.

Commit d0458f210b78f62f81e195ea5b7202543e5abea3
<http://git.dyninst.org/?p=dyninst.git;a=commit;h=d0458f210b78f62f81e195ea5b7202543e5abea3>
    Implement stack modifications.

    Stack modifications allow users to modify the stack frame layout by
    inserting, removing, or moving stack space. Stack modifications are
    based on the abstraction of stack locations, not the contents of
    these locations. Further, we provide the ability to insert
    stack canaries or to randomize the DWARF-provided local variables
    in a stack frame.

Commit 63351bfe05851b52d4c7a0fe2b7ace863e88ddfc
<http://git.dyninst.org/?p=dyninst.git;a=commit;h=63351bfe05851b52d4c7a0fe2b7ace863e88ddfc>
    Added insnCodeGen::modifyDisp, which modifies the displacement encoded
in an instruction.

Commit e7f65cd145c72d1cb8dd6cdf770a2f17b569b60f
<http://git.dyninst.org/?p=dyninst.git;a=commit;h=e7f65cd145c72d1cb8dd6cdf770a2f17b569b60f>
    Add sensitivity analysis for stack modifications.

    This sensitivity analysis determines which instructions access
    relocated stack memory or stack memory shifted due to modifications;
    these instructions are updated during relocation to access the new
    stack locations (via a new StackModWidget).
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to