retdec
Private Member Functions | Private Attributes | List of all members
retdec::fileformat::VisualBasicInfo Class Reference

#include <visual_basic_info.h>

Collaboration diagram for retdec::fileformat::VisualBasicInfo:
Collaboration graph
[legend]

Public Member Functions

Getters
const std::string & getLanguageDLL () const
 
const std::string & getBackupLanguageDLL () const
 
const std::string & getProjectExeName () const
 
const std::string & getProjectDescription () const
 
const std::string & getProjectHelpFile () const
 
const std::string & getProjectName () const
 
bool getLanguageDLLPrimaryLCID (std::uint32_t &res) const
 
bool getLanguageDLLSecondaryLCID (std::uint32_t &res) const
 
const std::string & getProjectPath () const
 
bool getProjectPrimaryLCID (std::uint32_t &res) const
 
bool getProjectSecondaryLCID (std::uint32_t &res) const
 
const std::vector< std::unique_ptr< VisualBasicObject > > & getObjects () const
 
const std::vector< std::unique_ptr< VisualBasicExtern > > & getExterns () const
 
const VisualBasicObjectgetObject (std::size_t position) const
 
const VisualBasicExterngetExtern (std::size_t position) const
 
std::size_t getNumberOfObjects () const
 
std::size_t getNumberOfExterns () const
 
const std::string & getObjectTableGUID () const
 
const std::string & getTypeLibCLSID () const
 
bool getTypeLibLCID (std::uint32_t &res) const
 
bool getTypeLibMajorVersion (std::uint16_t &res) const
 
bool getTypeLibMinorVersion (std::uint16_t &res) const
 
const std::string & getCOMObjectName () const
 
const std::string & getCOMObjectDescription () const
 
const std::string & getCOMObjectCLSID () const
 
const std::string & getCOMObjectInterfaceCLSID () const
 
const std::string & getCOMObjectEventsCLSID () const
 
const std::string & getCOMObjectType () const
 
const std::string & getExternTableHashCrc32 () const
 
const std::string & getExternTableHashMd5 () const
 
const std::string & getExternTableHashSha256 () const
 
const std::string & getObjectTableHashCrc32 () const
 
const std::string & getObjectTableHashMd5 () const
 
const std::string & getObjectTableHashSha256 () const
 
Setters
void setLanguageDLL (const std::string &lDll)
 
void setBackupLanguageDLL (const std::string &blDll)
 
void setProjectExeName (const std::string &exeName)
 
void setProjectDescription (const std::string &desc)
 
void setProjectHelpFile (const std::string &helpFile)
 
void setProjectName (const std::string &name)
 
void setLanguageDLLPrimaryLCID (std::uint32_t lDllPrimLCID)
 
void setLanguageDLLSecondaryLCID (std::uint32_t lDllSecLCID)
 
void setProjectPath (const std::string &path)
 
void setProjectPrimaryLCID (std::uint32_t primLCID)
 
void setProjectSecondaryLCID (std::uint32_t secLCID)
 
void setTypeLibCLSID (const std::uint8_t data[16])
 
void setTypeLibLCID (std::uint32_t tlbLCID)
 
void setPcode (bool set)
 
void setObjectTableGUID (const std::uint8_t data[16])
 
void setTypeLibMajorVersion (std::uint16_t majVer)
 
void setTypeLibMinorVersion (std::uint16_t minVer)
 
void setCOMObjectName (const std::string &name)
 
void setCOMObjectDescription (const std::string &description)
 
void setCOMObjectCLSID (const std::uint8_t data[16])
 
void setCOMObjectInterfaceCLSID (const std::uint8_t data[16])
 
void setCOMObjectEventsCLSID (const std::uint8_t data[16])
 
void setCOMObjectType (std::uint8_t type)
 
Other methods
void addObject (std::unique_ptr< VisualBasicObject > &&obj)
 
void addExtern (std::unique_ptr< VisualBasicExtern > &&ext)
 
bool hasProjectName () const
 
bool hasProjectDescription () const
 
bool hasProjectHelpFile () const
 
bool isPcode () const
 
void computeExternTableHashes ()
 
void computeObjectTableHashes ()
 

Private Member Functions

std::string guidToStr (const std::uint8_t data[16])
 

Private Attributes

std::string languageDLL
 
std::string backupLanguageDLL
 
std::string projectExeName
 
std::string projectDescription
 
std::string projectHelpFile
 
std::string projectName
 
std::uint32_t languageDLLPrimaryLCID = 0
 
std::uint32_t languageDLLSecondaryLCID = 0
 
std::string projectPath
 
std::string objectTableGUID
 
std::uint32_t projectPrimaryLCID = 0
 
std::uint32_t projectSecondaryLCID = 0
 
std::vector< std::unique_ptr< VisualBasicObject > > objects
 
std::vector< std::unique_ptr< VisualBasicExtern > > externs
 
std::string typeLibCLSID
 
std::uint32_t typeLibLCID = 0
 
std::uint16_t typeLibMajorVersion = 0
 
std::uint16_t typeLibMinorVersion = 0
 
std::string COMObjectName
 
std::string COMObjectDescription
 
std::string COMObjectCLSID
 
std::string COMObjectInterfaceCLSID
 
std::string COMObjectEventsCLSID
 
std::string COMObjectType
 
std::string externTableHashCrc32
 
std::string externTableHashMd5
 
std::string externTableHashSha256
 
std::string objectTableHashCrc32
 
std::string objectTableHashMd5
 
std::string objectTableHashSha256
 
bool validLanguageDLLPrimaryLCID = false
 
bool validLanguageDLLSecondaryLCID = false
 
bool validProjectPrimaryLCID = false
 
bool validProjectSecondaryLCID = false
 
bool validTypeLibLCID = false
 
bool validTypeLibMajorVersion = false
 
bool validTypeLibMinorVersion = false
 
bool pcodeFlag = false
 

Detailed Description

Class for visual basic information

Member Function Documentation

◆ addExtern()

void retdec::fileformat::VisualBasicInfo::addExtern ( std::unique_ptr< VisualBasicExtern > &&  ext)

Add visual basic extern

Parameters
extExtern to add

◆ addObject()

void retdec::fileformat::VisualBasicInfo::addObject ( std::unique_ptr< VisualBasicObject > &&  obj)

Add visual basic object

Parameters
objObject to add

◆ computeExternTableHashes()

void retdec::fileformat::VisualBasicInfo::computeExternTableHashes ( )

Compute external table hashes - CRC32, MD5, SHA256.

◆ computeObjectTableHashes()

void retdec::fileformat::VisualBasicInfo::computeObjectTableHashes ( )

Compute object table hashes - CRC32, MD5, SHA256.

◆ getBackupLanguageDLL()

const std::string & retdec::fileformat::VisualBasicInfo::getBackupLanguageDLL ( ) const

Get backup language DLL

Returns
backup language DLL

◆ getCOMObjectCLSID()

const std::string & retdec::fileformat::VisualBasicInfo::getCOMObjectCLSID ( ) const

Get COM object CLSID

Returns
COM object CLSID

◆ getCOMObjectDescription()

const std::string & retdec::fileformat::VisualBasicInfo::getCOMObjectDescription ( ) const

Get COM object description

Returns
COM object description

◆ getCOMObjectEventsCLSID()

const std::string & retdec::fileformat::VisualBasicInfo::getCOMObjectEventsCLSID ( ) const

Get COM object events CLSID

Returns
COM object events CLSID

◆ getCOMObjectInterfaceCLSID()

const std::string & retdec::fileformat::VisualBasicInfo::getCOMObjectInterfaceCLSID ( ) const

Get COM object interface CLSID

Returns
COM object interface CLSID

◆ getCOMObjectName()

const std::string & retdec::fileformat::VisualBasicInfo::getCOMObjectName ( ) const

Get COM object name

Returns
COM object name

◆ getCOMObjectType()

const std::string & retdec::fileformat::VisualBasicInfo::getCOMObjectType ( ) const

Get COM object type

Returns
COM object type

◆ getExtern()

const VisualBasicExtern * retdec::fileformat::VisualBasicInfo::getExtern ( std::size_t  position) const

Get extern

Parameters
positionIndex of selected visual basic extern (indexed from 0)
Returns
Visual basic extern

◆ getExterns()

const std::vector< std::unique_ptr< VisualBasicExtern > > & retdec::fileformat::VisualBasicInfo::getExterns ( ) const

Get externs

Returns
Visual basic externs

◆ getExternTableHashCrc32()

const std::string & retdec::fileformat::VisualBasicInfo::getExternTableHashCrc32 ( ) const

Get extern table hash as CRC32

Returns
Extern table hash

◆ getExternTableHashMd5()

const std::string & retdec::fileformat::VisualBasicInfo::getExternTableHashMd5 ( ) const

Get extern table hash as MD5

Returns
Extern table hash

◆ getExternTableHashSha256()

const std::string & retdec::fileformat::VisualBasicInfo::getExternTableHashSha256 ( ) const

Get extern table hash as SHA256

Returns
Extern table hash

◆ getLanguageDLL()

const std::string & retdec::fileformat::VisualBasicInfo::getLanguageDLL ( ) const

Get language DLL

Returns
language DLL

◆ getLanguageDLLPrimaryLCID()

bool retdec::fileformat::VisualBasicInfo::getLanguageDLLPrimaryLCID ( std::uint32_t &  res) const

Get language DLL primary LCID

Parameters
resVariable to store the result to
Returns
true if language DLL primary LCID is valid, false otherwise

◆ getLanguageDLLSecondaryLCID()

bool retdec::fileformat::VisualBasicInfo::getLanguageDLLSecondaryLCID ( std::uint32_t &  res) const

Get language DLL secondary LCID

Parameters
resVariable to store the result to
Returns
true if language DLL secondary LCID is valid, false otherwise

◆ getNumberOfExterns()

size_t retdec::fileformat::VisualBasicInfo::getNumberOfExterns ( ) const

Get number of externs

Returns
Number of externs

◆ getNumberOfObjects()

size_t retdec::fileformat::VisualBasicInfo::getNumberOfObjects ( ) const

Get number of objects

Returns
Number of objects

◆ getObject()

const VisualBasicObject * retdec::fileformat::VisualBasicInfo::getObject ( std::size_t  position) const

Get object

Parameters
positionIndex of selected visual basic object (indexed from 0)
Returns
Visual basic object

◆ getObjects()

const std::vector< std::unique_ptr< VisualBasicObject > > & retdec::fileformat::VisualBasicInfo::getObjects ( ) const

Get objects

Returns
Visual basic objects

◆ getObjectTableGUID()

const std::string & retdec::fileformat::VisualBasicInfo::getObjectTableGUID ( ) const

Get object table GUID

Returns
Object table GUID as string

◆ getObjectTableHashCrc32()

const std::string & retdec::fileformat::VisualBasicInfo::getObjectTableHashCrc32 ( ) const

Get object table hash as CRC32

Returns
Object table hash

◆ getObjectTableHashMd5()

const std::string & retdec::fileformat::VisualBasicInfo::getObjectTableHashMd5 ( ) const

Get object table hash as MD5

Returns
Object table hash

◆ getObjectTableHashSha256()

const std::string & retdec::fileformat::VisualBasicInfo::getObjectTableHashSha256 ( ) const

Get object table hash as SHA256

Returns
Object table hash

◆ getProjectDescription()

const std::string & retdec::fileformat::VisualBasicInfo::getProjectDescription ( ) const

Get project description

Returns
project description

◆ getProjectExeName()

const std::string & retdec::fileformat::VisualBasicInfo::getProjectExeName ( ) const

Get project exe name

Returns
project exe name

◆ getProjectHelpFile()

const std::string & retdec::fileformat::VisualBasicInfo::getProjectHelpFile ( ) const

Get project help file

Returns
project help file

◆ getProjectName()

const std::string & retdec::fileformat::VisualBasicInfo::getProjectName ( ) const

Get project name

Returns
project name

◆ getProjectPath()

const std::string & retdec::fileformat::VisualBasicInfo::getProjectPath ( ) const

Get project path

Returns
project path

◆ getProjectPrimaryLCID()

bool retdec::fileformat::VisualBasicInfo::getProjectPrimaryLCID ( std::uint32_t &  res) const

Get project primary LCID

Parameters
resVariable to store the result to
Returns
true if project primary LCID is valid, false otherwise

◆ getProjectSecondaryLCID()

bool retdec::fileformat::VisualBasicInfo::getProjectSecondaryLCID ( std::uint32_t &  res) const

Get project secondary LCID

Parameters
resVariable to store the result to
Returns
true if project secondary LCID is valid, false otherwise

◆ getTypeLibCLSID()

const std::string & retdec::fileformat::VisualBasicInfo::getTypeLibCLSID ( ) const

Get typeLib CLSID

Returns
typeLib CLSID as string

◆ getTypeLibLCID()

bool retdec::fileformat::VisualBasicInfo::getTypeLibLCID ( std::uint32_t &  res) const

Get typeLib LCID

Parameters
resVariable to store the result to
Returns
true if typeLib LCID is valid, false otherwise

◆ getTypeLibMajorVersion()

bool retdec::fileformat::VisualBasicInfo::getTypeLibMajorVersion ( std::uint16_t &  res) const

Get typeLib major version

Parameters
resVariable to store result to
Returns
true if typeLib major version is valid, false otherwise

◆ getTypeLibMinorVersion()

bool retdec::fileformat::VisualBasicInfo::getTypeLibMinorVersion ( std::uint16_t &  res) const

Get typeLib minor version

Parameters
resVariable to store result to
Returns
true if typeLib minor version is valid, false otherwise

◆ guidToStr()

std::string retdec::fileformat::VisualBasicInfo::guidToStr ( const std::uint8_t  data[16])
private

Convert raw GUID data to string

Parameters
dataRaw GUID data

◆ hasProjectDescription()

bool retdec::fileformat::VisualBasicInfo::hasProjectDescription ( ) const

Check if visual basic file has project description

Returns
true if visual basic file has project description, false otherwise

◆ hasProjectHelpFile()

bool retdec::fileformat::VisualBasicInfo::hasProjectHelpFile ( ) const

Check if visual basic file has project help file

Returns
true if visual basic file has project help file, false otherwise

◆ hasProjectName()

bool retdec::fileformat::VisualBasicInfo::hasProjectName ( ) const

Check if visual basic file has project name

Returns
true if visual basic file has project name, false otherwise

◆ isPcode()

bool retdec::fileformat::VisualBasicInfo::isPcode ( ) const

Check if visual basic file is a P-code file

Returns
true if visual basic file is P-code, false otherwise

◆ setBackupLanguageDLL()

void retdec::fileformat::VisualBasicInfo::setBackupLanguageDLL ( const std::string &  blDLL)

Set backup language DLL

Parameters
blDLLBackup language DLL to set

◆ setCOMObjectCLSID()

void retdec::fileformat::VisualBasicInfo::setCOMObjectCLSID ( const std::uint8_t  data[16])

Set COM object CLSID

Parameters
dataRaw CLSID data

◆ setCOMObjectDescription()

void retdec::fileformat::VisualBasicInfo::setCOMObjectDescription ( const std::string &  description)

Set COM object description

Parameters
descriptionCOM object description to set

◆ setCOMObjectEventsCLSID()

void retdec::fileformat::VisualBasicInfo::setCOMObjectEventsCLSID ( const std::uint8_t  data[16])

Set COM object eventsCLSID

Parameters
dataRaw CLSID data

◆ setCOMObjectInterfaceCLSID()

void retdec::fileformat::VisualBasicInfo::setCOMObjectInterfaceCLSID ( const std::uint8_t  data[16])

Set COM object interfaceCLSID

Parameters
dataRaw CLSID data

◆ setCOMObjectName()

void retdec::fileformat::VisualBasicInfo::setCOMObjectName ( const std::string &  name)

Set COM object name

Parameters
nameCOM object name to set

◆ setCOMObjectType()

void retdec::fileformat::VisualBasicInfo::setCOMObjectType ( std::uint8_t  type)

Set COM object type

Parameters
typeCOM object type to set

◆ setLanguageDLL()

void retdec::fileformat::VisualBasicInfo::setLanguageDLL ( const std::string &  lDLL)

Set language DLL

Parameters
lDLLLanguage DLL to set

◆ setLanguageDLLPrimaryLCID()

void retdec::fileformat::VisualBasicInfo::setLanguageDLLPrimaryLCID ( std::uint32_t  lDLLPrimLCID)

Set language DLL primary LCID

Parameters
lDLLPrimLCIDLanguage DLL primary LCID to set

◆ setLanguageDLLSecondaryLCID()

void retdec::fileformat::VisualBasicInfo::setLanguageDLLSecondaryLCID ( std::uint32_t  lDLLSecLCID)

Set language DLL secondary LCID

Parameters
lDLLSecLCIDLanguage DLL secondary LCID to set

◆ setObjectTableGUID()

void retdec::fileformat::VisualBasicInfo::setObjectTableGUID ( const std::uint8_t  data[16])

Set object table GUID

Parameters
dataRaw GUID data

◆ setPcode()

void retdec::fileformat::VisualBasicInfo::setPcode ( bool  set)

Set whether visual basic file is a P-code file.

Parameters
settrue if file is a P-code, false otherwise.

◆ setProjectDescription()

void retdec::fileformat::VisualBasicInfo::setProjectDescription ( const std::string &  desc)

Set project description

Parameters
descProject description to set

◆ setProjectExeName()

void retdec::fileformat::VisualBasicInfo::setProjectExeName ( const std::string &  exeName)

Set project exe name

Parameters
exeNameProject exe name to set

◆ setProjectHelpFile()

void retdec::fileformat::VisualBasicInfo::setProjectHelpFile ( const std::string &  helpFile)

Set project help file

Parameters
helpFileProject help file to set

◆ setProjectName()

void retdec::fileformat::VisualBasicInfo::setProjectName ( const std::string &  name)

Set project name

Parameters
nameProject name to set

◆ setProjectPath()

void retdec::fileformat::VisualBasicInfo::setProjectPath ( const std::string &  path)

Set project path

Parameters
pathProject path to set

◆ setProjectPrimaryLCID()

void retdec::fileformat::VisualBasicInfo::setProjectPrimaryLCID ( std::uint32_t  primLCID)

Set project primary LCID

Parameters
primLCIDProject primary LCID to set

◆ setProjectSecondaryLCID()

void retdec::fileformat::VisualBasicInfo::setProjectSecondaryLCID ( std::uint32_t  secLCID)

Set project secondary LCID

Parameters
secLCIDProject secondary LCID to set

◆ setTypeLibCLSID()

void retdec::fileformat::VisualBasicInfo::setTypeLibCLSID ( const std::uint8_t  data[16])

Set typeLib CLSID

Parameters
dataCLSID raw data

◆ setTypeLibLCID()

void retdec::fileformat::VisualBasicInfo::setTypeLibLCID ( std::uint32_t  tlbLCID)

Set typeLib LCID

Parameters
tlbLCIDTypeLib LCID to set

◆ setTypeLibMajorVersion()

void retdec::fileformat::VisualBasicInfo::setTypeLibMajorVersion ( std::uint16_t  majVer)

Set typeLib major version

Parameters
majVerVersion to set

◆ setTypeLibMinorVersion()

void retdec::fileformat::VisualBasicInfo::setTypeLibMinorVersion ( std::uint16_t  minVer)

Set typeLib minor version

Parameters
minVerVersion to set

Member Data Documentation

◆ backupLanguageDLL

std::string retdec::fileformat::VisualBasicInfo::backupLanguageDLL
private

◆ COMObjectCLSID

std::string retdec::fileformat::VisualBasicInfo::COMObjectCLSID
private

◆ COMObjectDescription

std::string retdec::fileformat::VisualBasicInfo::COMObjectDescription
private

◆ COMObjectEventsCLSID

std::string retdec::fileformat::VisualBasicInfo::COMObjectEventsCLSID
private

◆ COMObjectInterfaceCLSID

std::string retdec::fileformat::VisualBasicInfo::COMObjectInterfaceCLSID
private

◆ COMObjectName

std::string retdec::fileformat::VisualBasicInfo::COMObjectName
private

◆ COMObjectType

std::string retdec::fileformat::VisualBasicInfo::COMObjectType
private

◆ externs

std::vector<std::unique_ptr<VisualBasicExtern> > retdec::fileformat::VisualBasicInfo::externs
private

◆ externTableHashCrc32

std::string retdec::fileformat::VisualBasicInfo::externTableHashCrc32
private

◆ externTableHashMd5

std::string retdec::fileformat::VisualBasicInfo::externTableHashMd5
private

◆ externTableHashSha256

std::string retdec::fileformat::VisualBasicInfo::externTableHashSha256
private

◆ languageDLL

std::string retdec::fileformat::VisualBasicInfo::languageDLL
private

◆ languageDLLPrimaryLCID

std::uint32_t retdec::fileformat::VisualBasicInfo::languageDLLPrimaryLCID = 0
private

◆ languageDLLSecondaryLCID

std::uint32_t retdec::fileformat::VisualBasicInfo::languageDLLSecondaryLCID = 0
private

◆ objects

std::vector<std::unique_ptr<VisualBasicObject> > retdec::fileformat::VisualBasicInfo::objects
private

◆ objectTableGUID

std::string retdec::fileformat::VisualBasicInfo::objectTableGUID
private

◆ objectTableHashCrc32

std::string retdec::fileformat::VisualBasicInfo::objectTableHashCrc32
private

◆ objectTableHashMd5

std::string retdec::fileformat::VisualBasicInfo::objectTableHashMd5
private

◆ objectTableHashSha256

std::string retdec::fileformat::VisualBasicInfo::objectTableHashSha256
private

◆ pcodeFlag

bool retdec::fileformat::VisualBasicInfo::pcodeFlag = false
private

◆ projectDescription

std::string retdec::fileformat::VisualBasicInfo::projectDescription
private

◆ projectExeName

std::string retdec::fileformat::VisualBasicInfo::projectExeName
private

◆ projectHelpFile

std::string retdec::fileformat::VisualBasicInfo::projectHelpFile
private

◆ projectName

std::string retdec::fileformat::VisualBasicInfo::projectName
private

◆ projectPath

std::string retdec::fileformat::VisualBasicInfo::projectPath
private

◆ projectPrimaryLCID

std::uint32_t retdec::fileformat::VisualBasicInfo::projectPrimaryLCID = 0
private

◆ projectSecondaryLCID

std::uint32_t retdec::fileformat::VisualBasicInfo::projectSecondaryLCID = 0
private

◆ typeLibCLSID

std::string retdec::fileformat::VisualBasicInfo::typeLibCLSID
private

◆ typeLibLCID

std::uint32_t retdec::fileformat::VisualBasicInfo::typeLibLCID = 0
private

◆ typeLibMajorVersion

std::uint16_t retdec::fileformat::VisualBasicInfo::typeLibMajorVersion = 0
private

◆ typeLibMinorVersion

std::uint16_t retdec::fileformat::VisualBasicInfo::typeLibMinorVersion = 0
private

◆ validLanguageDLLPrimaryLCID

bool retdec::fileformat::VisualBasicInfo::validLanguageDLLPrimaryLCID = false
private

◆ validLanguageDLLSecondaryLCID

bool retdec::fileformat::VisualBasicInfo::validLanguageDLLSecondaryLCID = false
private

◆ validProjectPrimaryLCID

bool retdec::fileformat::VisualBasicInfo::validProjectPrimaryLCID = false
private

◆ validProjectSecondaryLCID

bool retdec::fileformat::VisualBasicInfo::validProjectSecondaryLCID = false
private

◆ validTypeLibLCID

bool retdec::fileformat::VisualBasicInfo::validTypeLibLCID = false
private

◆ validTypeLibMajorVersion

bool retdec::fileformat::VisualBasicInfo::validTypeLibMajorVersion = false
private

◆ validTypeLibMinorVersion

bool retdec::fileformat::VisualBasicInfo::validTypeLibMinorVersion = false
private

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