avast / avast/retdec

Advanced detection of MSVC classes and their associated methods

Open
#377 2 comments 0 reactions 0 assignees View on GitHub
new-feature P-output T-comp-msvc
Dominant language
C++
Stars
8.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

I came across the following [issue](https://github.com/radare/radare2/issues/6851#issuecomment-283384896) by chance. I found this quite interesting, because in it a link refers to a page, which shows the more exact structure of programs which were programmed with MSVC. In addition to the VTables and RTTI, there seems to be more information that could be useful for restoring object oriented programs. I thought I would write this article here because it contains some aspects that might be interesting for RetDec. So far the analysis of object orientation is rather rudimentary. Check it out, and maybe you can take some of it over, or use the information in the article for other purposes.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the linked radare2 issue and its referenced article, then review RetDec's existing rudimentary object-oriented analysis. The issue does not name implementation files or tests, so first identify the relevant analysis entry points and define the MSVC class, vtable, RTTI, and method-detection scope before implementation; done requires a specified design and validated detection behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
22/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.