Support type recovery and indirect call lifting
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
I was trying to lift a c file that has a structure and indirect call. For example,
`typedef void(*FuncPtr)(int)
typedef struct {
int a;
FunctionPtr ptr;
} Container;
void execute(Container container) {
container.ptr(10);
}`
However, this structure is not recovered by retdec, it also does not recognize the indirect call made.
Can we augment retdec with this type of information and add some support for indirect call recognition?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing RetDec's existing type-recovery and indirect-call lifting entry points, then trace how the supplied C structure and function-pointer example are represented. Done means the example's structure type is recovered and its indirect call is recognized during lifting, with tests covering both behaviors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100