Date: | Tue, 05 Dec 2017 08:26:05 -0600 |
---|---|
From: | Xiaozhu Meng <mxz297@xxxxxxxxx> |
Subject: | Re: [DynInst_API:] Indirect Control Flow Target Deduction in CFG |
Hi Buddhika, Using backward slicing to resolving indirect calls is possible, but there is no guarantee that this would work in general. For example, a common pointer-based control flow pattern is to call a callback function passed in as a function pointer. Calling such function pointer leads to an indirect call in the binary. However, when we perform backward slicing on the indirect call, we will need to slice across function boundary to determine where the function pointer comes from. Inter-procedural slicing is very expensive. In addition, even inter-procedural slicing does not guarantee to find all indirect call targets as it is also possible that the function pointer may comeÂfrom other libraries or executables. It is in general very difficult to accurately, statically resolve indirect call targets. I guess you have a better chance if you focus on specific types of indirect calls, such as the ones implementing virtual function calls. Your comment on providing examples in the repository is helpful. I will try to add stand-alone complete code files. Thanks, --Xiaozhu On Sun, Dec 3, 2017 at 5:20 PM, Buddhika Chamith Kahawitage Don <budkahaw@xxxxxxxxxxxx> wrote:
|
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [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: | Re: [DynInst_API:] Indirect Control Flow Target Deduction in CFG, Buddhika Chamith Kahawitage Don |
Next by Thread: | [DynInst_API:] Mark your calendar: 2018 Scalable Tools Workshop, Barton Miller |
Indexes: | [Date] [Thread] |