Date: | Mon, 13 Nov 2017 08:37:39 -0600 |
---|---|
From: | Xiaozhu Meng <mxz297@xxxxxxxxx> |
Subject: | Re: [DynInst_API:] Indirect Control Flow Target Deduction in CFG |
Hi Buddhika, I am sorry for the late response. In terms of how ParseAPI handle indirect control flows, ParseAPI will try to resolve indirect jumps and if these indirect jumps correspond to a switch statement in the source code, ParseAPI typically can finds the indirect jump targets. You can get these targets by traverse the control flow graph, as shown in the example of the ParseAPI manual and you can check the edge type of control flow edges to determine whether they are indirect or not. For indirect calls and indirect tail calls, ParseAPI has little support to resolve their targets. For your purpose of implementing a control flow integrity prototype, you either allow indirect calls to call all functions (disallowing calling any non-function-entry address), or you will need to do other analysis on top of Dyninst to better estimate the possible call targets. Hope this helps. Thanks, --Xiaozhu On Fri, Nov 10, 2017 at 7:56 AM, Buddhika Chamith Kahawitage Don <budkahaw@xxxxxxxxxxxx> wrote:
|
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [DynInst_API:] Control Flow Graph example with parseAPI, Buddhika Chamith Kahawitage Don |
---|---|
Next by Date: | Re: [DynInst_API:] Control Flow Graph example with parseAPI, Xiaozhu Meng |
Previous by Thread: | [DynInst_API:] Indirect Control Flow Target Deduction in CFG, Buddhika Chamith Kahawitage Don |
Next by Thread: | Re: [DynInst_API:] Indirect Control Flow Target Deduction in CFG, Buddhika Chamith Kahawitage Don |
Indexes: | [Date] [Thread] |