Re: [DynInst_API:] BPatch_binaryEdit openBinary crashing


Date: Wed, 11 Feb 2015 10:58:54 -0600
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] BPatch_binaryEdit openBinary crashing
On 02/11/2015 05:03 AM, Aleksandar Nikolic wrote:
Hi,

looking at the codebase, a lot of code seems to already be there.
I'll be getting to know the code in more details. Any directions
into what would need to be implemented or what parts are missing?

Thanks,
Alex

The biggest thing that needs implementation/testing/updating is an analogue to the emitElf* files in SymtabAPI; that's what takes the modified data in Symtab and produces a new, loadable binary file.

There are other bits of glue that are undoubtedly missing (for instance, the assert you ran into). And one of the big challenges that I know is different on Windows is that every absolute memory reference in the dyninstInst section (relocated/instrumented code) needs to have an associated relocation added in order to load anywhere other than its preferred base address. (We could get around this by transforming all code we relocate to be position-independent, but that's a cure that may be worse than the disease.)


On 02/08/2015 10:59 PM, Barton Miller wrote:
BTW, if there are any individuals or groups that would like to work on
getting rewriting to work on Windows, we'd be happy to provide support.
Not a small effort but interesting and worthwhile.

--bart


On 2/6/2015 4:36 PM, Bill Williams wrote:
No, and not exactly. Windows binary rewriting is not supported, and is
documented as such. If it were to be supported, what you are doing
would work quite reasonably.
_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api



--
--bw

Bill Williams
Paradyn Project
bill@xxxxxxxxxxx
[← Prev in Thread] Current Thread [Next in Thread→]