retdec
Public Member Functions | Private Attributes | List of all members
retdec::rtti_finder::RttiFinder Class Reference

#include <rtti_finder.h>

Collaboration diagram for retdec::rtti_finder::RttiFinder:
Collaboration graph
[legend]

Public Member Functions

void findGcc (const retdec::loader::Image *img)
 
void findMsvc (const retdec::loader::Image *img)
 
const VtablesGccgetVtablesGcc () const
 
const VtablesMsvcgetVtablesMsvc () const
 
const RttiGccgetRttiGcc () const
 
const RttiMsvcgetRttiMsvc () const
 
const retdec::common::VtablegetVtable (retdec::common::Address a) const
 

Private Attributes

VtablesGcc _vtablesGcc
 C++ GCC/Clang vtables, including RTTIs. More...
 
VtablesMsvc _vtablesMsvc
 C++ MSVC vtables, including RTTIs. More...
 
RttiGcc _rttiGcc
 C++ GCC/Clang RTTI;. More...
 
RttiMsvc _rttiMsvc
 C++ MSVC RTTI;. More...
 

Member Function Documentation

◆ findGcc()

void retdec::rtti_finder::RttiFinder::findGcc ( const retdec::loader::Image img)

Find GCC/Clang C++ vtables and RTTI from file. Fill _vtablesGcc and __rttiGcc;

◆ findMsvc()

void retdec::rtti_finder::RttiFinder::findMsvc ( const retdec::loader::Image img)

Find MSVC C++ vtables and RTTI from file. Fill vtablesMsvc and _rttiMsvc.

◆ getRttiGcc()

const RttiGcc & retdec::rtti_finder::RttiFinder::getRttiGcc ( ) const
Returns
C++ GCC/Clang RTTI information.

These information are not parsed by default, FileFormat user must initialize it by calling loadVtableGcc() method first.

◆ getRttiMsvc()

const RttiMsvc & retdec::rtti_finder::RttiFinder::getRttiMsvc ( ) const
Returns
C++ MSVC RTTI information.

These information are not parsed by default, FileFormat user must initialize it by calling loadVtableMsvc() method first.

◆ getVtable()

const retdec::common::Vtable * retdec::rtti_finder::RttiFinder::getVtable ( retdec::common::Address  a) const

Get vtable on address address. This tries to get vtable from both GCC and MSVC vtable containers and expect that only one of them was loaded -> there should not be a vtable at the address in both of them.

◆ getVtablesGcc()

const VtablesGcc & retdec::rtti_finder::RttiFinder::getVtablesGcc ( ) const
Returns
C++ GCC/Clang virtual tables, including RTTI information.

These information are not parsed by default, FileFormat user must initialize it by calling loadVtableGcc() method first.

◆ getVtablesMsvc()

const VtablesMsvc & retdec::rtti_finder::RttiFinder::getVtablesMsvc ( ) const
Returns
C++ MSVC virtual tables, including RTTI information.

These information are not parsed by default, FileFormat user must initialize it by calling loadVtableMsvc() method first.

Member Data Documentation

◆ _rttiGcc

RttiGcc retdec::rtti_finder::RttiFinder::_rttiGcc
private

C++ GCC/Clang RTTI;.

◆ _rttiMsvc

RttiMsvc retdec::rtti_finder::RttiFinder::_rttiMsvc
private

C++ MSVC RTTI;.

◆ _vtablesGcc

VtablesGcc retdec::rtti_finder::RttiFinder::_vtablesGcc
private

C++ GCC/Clang vtables, including RTTIs.

◆ _vtablesMsvc

VtablesMsvc retdec::rtti_finder::RttiFinder::_vtablesMsvc
private

C++ MSVC vtables, including RTTIs.


The documentation for this class was generated from the following files: