BearParser
Portable Executable parsing library (from PE-bear)
Toggle main menu visibility
Loading...
Searching...
No Matches
parser
include
bearparser
pe
RichHdrWrapper.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
PENodeWrapper.h
"
4
#include "pe_undoc.h"
5
6
const
QString
RichHdr_ProdIdToVSversion
(WORD prodId);
7
const
QString
RichHdr_translateProdId
(WORD prodId);
8
9
class
RichHdrWrapper
:
public
PEElementWrapper
10
{
11
public
:
12
/* fields :*/
13
enum
FieldID
{
14
NONE
= -1,
15
DANS_ID
= 0,
16
CPAD0
,
17
CPAD1
,
18
CPAD2
,
19
COMP_ID_1
,
20
RICH_ID
,
21
CHECKSUM
,
22
FIELD_COUNTER
23
};
24
25
RichHdrWrapper
(
PEFile
*pe)
26
:
PEElementWrapper
(pe),
richSign
(NULL),
dansHdr
(NULL),
compIdCounter
(0) {
wrap
(); }
27
28
size_t
compIdCount
();
29
30
virtual
bool
wrap
();
31
/* full structure boundaries */
32
virtual
void
*
getPtr
();
33
virtual
bufsize_t
getSize
();
34
virtual
QString
getName
() {
return
"Rich Hdr"
; }
35
virtual
size_t
getFieldsCount
();
36
37
/* specific field boundaries */
38
virtual
void
*
getFieldPtr
(
size_t
fieldId,
size_t
subField =
FIELD_NONE
);
39
virtual
bufsize_t
getFieldSize
(
size_t
fieldId,
size_t
subField =
FIELD_NONE
);
40
virtual
QString
translateFieldContent
(
size_t
fieldId);
41
virtual
QString
getFieldName
(
size_t
fieldId);
42
virtual
Executable::addr_type
containsAddrType
(uint32_t fieldId, uint32_t subField =
FIELD_NONE
);
43
44
/* only for this wrapper type */
45
pe::RICH_COMP_ID
getCompId
(
size_t
fieldId);
46
DWORD
calcChecksum
();
47
48
protected
:
49
pe::RICH_SIGNATURE*
richSign
;
50
pe::RICH_DANS_HEADER*
dansHdr
;
51
size_t
compIdCounter
;
52
};
53
54
bufsize_t
size_t bufsize_t
Definition
AbstractByteBuffer.h:17
FIELD_NONE
#define FIELD_NONE
Definition
ExeElementWrapper.h:9
PENodeWrapper.h
RichHdr_translateProdId
const QString RichHdr_translateProdId(WORD prodId)
Definition
RichHdrWrapper.cpp:265
RichHdr_ProdIdToVSversion
const QString RichHdr_ProdIdToVSversion(WORD prodId)
Definition
RichHdrWrapper.cpp:231
Executable::addr_type
addr_type
Definition
Executable.h:42
PEElementWrapper::PEElementWrapper
PEElementWrapper(PEFile *pe)
Definition
PENodeWrapper.cpp:4
PEElementWrapper::PEFile
friend class PEFile
Definition
PENodeWrapper.h:19
RichHdrWrapper::containsAddrType
virtual Executable::addr_type containsAddrType(uint32_t fieldId, uint32_t subField=FIELD_NONE)
Definition
RichHdrWrapper.cpp:186
RichHdrWrapper::getPtr
virtual void * getPtr()
Definition
RichHdrWrapper.cpp:18
RichHdrWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField=FIELD_NONE)
Definition
RichHdrWrapper.cpp:57
RichHdrWrapper::FieldID
FieldID
Definition
RichHdrWrapper.h:13
RichHdrWrapper::DANS_ID
@ DANS_ID
Definition
RichHdrWrapper.h:15
RichHdrWrapper::CPAD2
@ CPAD2
Definition
RichHdrWrapper.h:18
RichHdrWrapper::CHECKSUM
@ CHECKSUM
Definition
RichHdrWrapper.h:21
RichHdrWrapper::FIELD_COUNTER
@ FIELD_COUNTER
Definition
RichHdrWrapper.h:22
RichHdrWrapper::CPAD1
@ CPAD1
Definition
RichHdrWrapper.h:17
RichHdrWrapper::CPAD0
@ CPAD0
Definition
RichHdrWrapper.h:16
RichHdrWrapper::RICH_ID
@ RICH_ID
Definition
RichHdrWrapper.h:20
RichHdrWrapper::COMP_ID_1
@ COMP_ID_1
Definition
RichHdrWrapper.h:19
RichHdrWrapper::NONE
@ NONE
Definition
RichHdrWrapper.h:14
RichHdrWrapper::dansHdr
pe::RICH_DANS_HEADER * dansHdr
Definition
RichHdrWrapper.h:50
RichHdrWrapper::RichHdrWrapper
RichHdrWrapper(PEFile *pe)
Definition
RichHdrWrapper.h:25
RichHdrWrapper::compIdCounter
size_t compIdCounter
Definition
RichHdrWrapper.h:51
RichHdrWrapper::wrap
virtual bool wrap()
Definition
RichHdrWrapper.cpp:6
RichHdrWrapper::getSize
virtual bufsize_t getSize()
Definition
RichHdrWrapper.cpp:37
RichHdrWrapper::getCompId
pe::RICH_COMP_ID getCompId(size_t fieldId)
Definition
RichHdrWrapper.cpp:129
RichHdrWrapper::getName
virtual QString getName()
Definition
RichHdrWrapper.h:34
RichHdrWrapper::calcChecksum
DWORD calcChecksum()
Definition
RichHdrWrapper.cpp:158
RichHdrWrapper::compIdCount
size_t compIdCount()
Definition
RichHdrWrapper.cpp:26
RichHdrWrapper::getFieldSize
virtual bufsize_t getFieldSize(size_t fieldId, size_t subField=FIELD_NONE)
Definition
RichHdrWrapper.cpp:83
RichHdrWrapper::getFieldsCount
virtual size_t getFieldsCount()
Definition
RichHdrWrapper.cpp:51
RichHdrWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition
RichHdrWrapper.cpp:109
RichHdrWrapper::richSign
pe::RICH_SIGNATURE * richSign
Definition
RichHdrWrapper.h:49
RichHdrWrapper::translateFieldContent
virtual QString translateFieldContent(size_t fieldId)
Definition
RichHdrWrapper.cpp:191
Generated by
1.17.0