retdec
Namespaces | Classes | Typedefs | Functions
retdec::rtti_finder Namespace Reference

Namespaces

 loader
 

Classes

class  TypeInfo
 
class  ClassTypeInfo
 
class  SiClassTypeInfo
 
class  VmiClassTypeInfo
 
class  BaseClassTypeInfo
 
class  RTTITypeDescriptor
 
class  RTTIBaseClassDescriptor
 
class  RTTIClassHierarchyDescriptor
 
class  RTTICompleteObjectLocator
 
class  RttiMsvc
 
class  RttiFinder
 
class  VtableGcc
 
class  VtableMsvc
 

Typedefs

using RttiGcc = std::map< retdec::common::Address, std::shared_ptr< ClassTypeInfo > >
 
using VtablesGcc = std::map< retdec::common::Address, VtableGcc >
 
using VtablesMsvc = std::map< retdec::common::Address, VtableMsvc >
 

Functions

std::shared_ptr< ClassTypeInfoparseGccRtti (const retdec::loader::Image *img, RttiGcc &rttis, retdec::common::Address rttiAddr, std::set< retdec::common::Address > &visited)
 
void finalizeGccRtti (RttiGcc &rttis)
 
RTTICompleteObjectLocatorparseMsvcRtti (const retdec::loader::Image *img, RttiMsvc &rttis, retdec::common::Address rttiAddr)
 
void findGccVtables (const retdec::loader::Image *img, VtablesGcc &vtables, RttiGcc &rttis)
 
void findMsvcVtables (const retdec::loader::Image *img, VtablesMsvc &vtables, RttiMsvc &rttis)
 
RTTITypeDescriptorparseMsvcTypeDescriptor (const retdec::loader::Image *img, RttiMsvc &rttis, retdec::common::Address typeDescriptorAddr)
 
RTTIBaseClassDescriptorparseMsvcBaseClassDescriptor (const retdec::loader::Image *img, RttiMsvc &rttis, retdec::common::Address baseDescriptorAddr)
 
RTTIClassHierarchyDescriptorparseMsvcClassDescriptor (const retdec::loader::Image *img, RttiMsvc &rttis, retdec::common::Address classDescriptorAddr)
 
RTTICompleteObjectLocatorparseMsvcObjectLocator (const retdec::loader::Image *img, RttiMsvc &rttis, retdec::common::Address rttiAddr)
 

Typedef Documentation

◆ RttiGcc

using retdec::rtti_finder::RttiGcc = typedef std::map< retdec::common::Address, std::shared_ptr<ClassTypeInfo> >

RTTI container.

◆ VtablesGcc

◆ VtablesMsvc

Function Documentation

◆ finalizeGccRtti()

void retdec::rtti_finder::finalizeGccRtti ( RttiGcc rttis)
Note
This method is defined outside the namespace retdec::rtti_finder with explicit namespace declarations to help Doxygen and prevent it from generating "no matching file member found for" warnings.

◆ findGccVtables()

void retdec::rtti_finder::findGccVtables ( const retdec::loader::Image img,
VtablesGcc vtables,
RttiGcc rttis 
)
Note
This method is defined outside the namespace retdec::rtti_finder with explicit namespace declarations to help Doxygen and prevent it from generating "no matching file member found for" warnings.

◆ findMsvcVtables()

void retdec::rtti_finder::findMsvcVtables ( const retdec::loader::Image img,
VtablesMsvc vtables,
RttiMsvc rttis 
)
Note
This method is defined outside the namespace retdec::rtti_finder with explicit namespace declarations to help Doxygen and prevent it from generating "no matching file member found for" warnings.

◆ parseGccRtti()

std::shared_ptr< retdec::rtti_finder::ClassTypeInfo > retdec::rtti_finder::parseGccRtti ( const retdec::loader::Image img,
RttiGcc rttis,
retdec::common::Address  rttiAddr,
std::set< retdec::common::Address > &  visited 
)
Note
This method is defined outside the namespace retdec::rtti_finder with explicit namespace declarations to help Doxygen and prevent it from generating "no matching file member found for" warnings.

◆ parseMsvcBaseClassDescriptor()

RTTIBaseClassDescriptor* retdec::rtti_finder::parseMsvcBaseClassDescriptor ( const retdec::loader::Image img,
RttiMsvc rttis,
retdec::common::Address  baseDescriptorAddr 
)

◆ parseMsvcClassDescriptor()

RTTIClassHierarchyDescriptor* retdec::rtti_finder::parseMsvcClassDescriptor ( const retdec::loader::Image img,
RttiMsvc rttis,
retdec::common::Address  classDescriptorAddr 
)

◆ parseMsvcObjectLocator()

RTTICompleteObjectLocator* retdec::rtti_finder::parseMsvcObjectLocator ( const retdec::loader::Image img,
RttiMsvc rttis,
retdec::common::Address  rttiAddr 
)

◆ parseMsvcRtti()

RTTICompleteObjectLocator * retdec::rtti_finder::parseMsvcRtti ( const retdec::loader::Image img,
RttiMsvc rttis,
retdec::common::Address  rttiAddr 
)

Pointer to RTTI entry if parsed ok, nullptr otherwise.

◆ parseMsvcTypeDescriptor()

RTTITypeDescriptor* retdec::rtti_finder::parseMsvcTypeDescriptor ( const retdec::loader::Image img,
RttiMsvc rttis,
retdec::common::Address  typeDescriptorAddr 
)