BearParser
Portable Executable parsing library (from PE-bear)
Toggle main menu visibility
Loading...
Searching...
No Matches
parser
include
bearparser
pe
BoundImpDirWrapper.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
DataDirEntryWrapper.h
"
4
5
class
BoundImpDirWrapper
:
public
DataDirEntryWrapper
6
{
7
public
:
8
BoundImpDirWrapper
(
PEFile
*pe)
9
:
DataDirEntryWrapper
(pe, pe::DIR_BOUND_IMPORT),
importsCount
(0) {
wrap
(); }
10
11
virtual
bool
wrap
();
12
13
virtual
void
*
getPtr
() {
return
boundImp
(); }
14
virtual
bufsize_t
getSize
();
15
virtual
QString
getName
() {
return
"BoundImp"
; }
16
virtual
size_t
getFieldsCount
() {
return
this->
entries
.size(); }
17
18
virtual
void
*
getFieldPtr
(
size_t
fieldId,
size_t
subField) {
return
getSubfieldPtr
(fieldId, subField ); }
19
virtual
bufsize_t
getFieldSize
(
size_t
fieldId,
size_t
subField =
FIELD_NONE
) {
return
getSubfieldSize
(fieldId, subField); }
20
21
virtual
QString
getFieldName
(
size_t
fieldId,
size_t
subField) {
return
getSubfieldName
(fieldId, subField ); }
22
virtual
QString
getFieldName
(
size_t
fieldId) {
return
getFieldName
(fieldId,
FIELD_NONE
); }
23
24
protected
:
25
bool
loadNextEntry
(
size_t
entryNum
);
26
27
IMAGE_BOUND_IMPORT_DESCRIPTOR*
boundImp
();
28
size_t
importsCount
;
29
30
friend
class
BoundEntryWrapper
;
31
};
32
33
class
BoundEntryWrapper
:
public
ExeNodeWrapper
34
{
35
public
:
36
enum
FieldID
{
37
NONE
=
FIELD_NONE
,
38
TIMESTAMP
,
39
MODULE_NAME_OFFSET
,
40
MODULE_FORWARDERS_NUM
,
41
FIELD_COUNTER
42
};
43
44
BoundEntryWrapper
(
Executable
*pe,
BoundImpDirWrapper
* parent,
size_t
entryNum
)
45
:
ExeNodeWrapper
(pe, parent,
entryNum
) { }
46
47
bool
wrap
() {
return
true
; }
48
49
virtual
void
*
getPtr
();
50
virtual
bufsize_t
getSize
();
51
virtual
QString
getName
();
52
virtual
char
*
getLibraryName
();
53
virtual
size_t
getFieldsCount
() {
return
FIELD_COUNTER
; }
54
virtual
size_t
getSubFieldsCount
() {
return
1; }
55
56
virtual
void
*
getFieldPtr
(
size_t
fieldId,
size_t
subField);
57
virtual
QString
getFieldName
(
size_t
fieldId);
58
};
bufsize_t
size_t bufsize_t
Definition
AbstractByteBuffer.h:17
DataDirEntryWrapper.h
FIELD_NONE
#define FIELD_NONE
Definition
ExeElementWrapper.h:9
BoundEntryWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField)
Definition
BoundImpDirWrapper.cpp:132
BoundEntryWrapper::getFieldsCount
virtual size_t getFieldsCount()
Definition
BoundImpDirWrapper.h:53
BoundEntryWrapper::getLibraryName
virtual char * getLibraryName()
Definition
BoundImpDirWrapper.cpp:109
BoundEntryWrapper::BoundEntryWrapper
BoundEntryWrapper(Executable *pe, BoundImpDirWrapper *parent, size_t entryNum)
Definition
BoundImpDirWrapper.h:44
BoundEntryWrapper::FieldID
FieldID
Definition
BoundImpDirWrapper.h:36
BoundEntryWrapper::TIMESTAMP
@ TIMESTAMP
Definition
BoundImpDirWrapper.h:38
BoundEntryWrapper::FIELD_COUNTER
@ FIELD_COUNTER
Definition
BoundImpDirWrapper.h:41
BoundEntryWrapper::MODULE_FORWARDERS_NUM
@ MODULE_FORWARDERS_NUM
Definition
BoundImpDirWrapper.h:40
BoundEntryWrapper::NONE
@ NONE
Definition
BoundImpDirWrapper.h:37
BoundEntryWrapper::MODULE_NAME_OFFSET
@ MODULE_NAME_OFFSET
Definition
BoundImpDirWrapper.h:39
BoundEntryWrapper::getSubFieldsCount
virtual size_t getSubFieldsCount()
Definition
BoundImpDirWrapper.h:54
BoundEntryWrapper::getSize
virtual bufsize_t getSize()
Definition
BoundImpDirWrapper.cpp:96
BoundEntryWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition
BoundImpDirWrapper.cpp:148
BoundEntryWrapper::getName
virtual QString getName()
Definition
BoundImpDirWrapper.cpp:102
BoundEntryWrapper::wrap
bool wrap()
Definition
BoundImpDirWrapper.h:47
BoundEntryWrapper::getPtr
virtual void * getPtr()
Definition
BoundImpDirWrapper.cpp:75
BoundImpDirWrapper
Definition
BoundImpDirWrapper.h:6
BoundImpDirWrapper::BoundImpDirWrapper
BoundImpDirWrapper(PEFile *pe)
Definition
BoundImpDirWrapper.h:8
BoundImpDirWrapper::loadNextEntry
bool loadNextEntry(size_t entryNum)
Definition
BoundImpDirWrapper.cpp:29
BoundImpDirWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField)
Definition
BoundImpDirWrapper.h:18
BoundImpDirWrapper::getFieldName
virtual QString getFieldName(size_t fieldId, size_t subField)
Definition
BoundImpDirWrapper.h:21
BoundImpDirWrapper::importsCount
size_t importsCount
Definition
BoundImpDirWrapper.h:28
BoundImpDirWrapper::boundImp
IMAGE_BOUND_IMPORT_DESCRIPTOR * boundImp()
Definition
BoundImpDirWrapper.cpp:20
BoundImpDirWrapper::getPtr
virtual void * getPtr()
Definition
BoundImpDirWrapper.h:13
BoundImpDirWrapper::wrap
virtual bool wrap()
Definition
BoundImpDirWrapper.cpp:47
BoundImpDirWrapper::getFieldsCount
virtual size_t getFieldsCount()
Definition
BoundImpDirWrapper.h:16
BoundImpDirWrapper::BoundEntryWrapper
friend class BoundEntryWrapper
Definition
BoundImpDirWrapper.h:30
BoundImpDirWrapper::getSize
virtual bufsize_t getSize()
Definition
BoundImpDirWrapper.cpp:66
BoundImpDirWrapper::getName
virtual QString getName()
Definition
BoundImpDirWrapper.h:15
BoundImpDirWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition
BoundImpDirWrapper.h:22
BoundImpDirWrapper::getFieldSize
virtual bufsize_t getFieldSize(size_t fieldId, size_t subField=FIELD_NONE)
Definition
BoundImpDirWrapper.h:19
DataDirEntryWrapper::PEFile
friend class PEFile
Definition
DataDirEntryWrapper.h:22
DataDirEntryWrapper::DataDirEntryWrapper
DataDirEntryWrapper(PEFile *pe, pe::dir_entry v_entryType)
Definition
DataDirEntryWrapper.cpp:4
ExeElementWrapper::Executable
friend class Executable
Definition
ExeElementWrapper.h:67
ExeNodeWrapper::getSubfieldPtr
virtual void * getSubfieldPtr(size_t fieldId, size_t subField)
Definition
ExeNodeWrapper.cpp:39
ExeNodeWrapper::getSubfieldName
virtual QString getSubfieldName(size_t fieldId, size_t subField)
Definition
ExeNodeWrapper.cpp:55
ExeNodeWrapper::ExeNodeWrapper
ExeNodeWrapper(Executable *pe, ExeNodeWrapper *parent=NULL)
Definition
ExeNodeWrapper.cpp:3
ExeNodeWrapper::entries
std::vector< ExeNodeWrapper * > entries
Definition
ExeNodeWrapper.h:56
ExeNodeWrapper::entryNum
size_t entryNum
Definition
ExeNodeWrapper.h:54
ExeNodeWrapper::getSubfieldSize
virtual bufsize_t getSubfieldSize(size_t fieldId, size_t subField)
Definition
ExeNodeWrapper.cpp:47
Generated by
1.17.0