Go to the documentation of this file.
109 void visit(
const Binary& Binary)
override;
110 void visit(
const DosHeader& dos_header)
override;
111 void visit(
const RichHeader& rich_header)
override;
112 void visit(
const RichEntry& rich_entry)
override;
113 void visit(
const Header& header)
override;
114 void visit(
const OptionalHeader& optional_header)
override;
115 void visit(
const DataDirectory& data_directory)
override;
116 void visit(
const Section& section)
override;
117 void visit(
const Relocation& relocation)
override;
118 void visit(
const RelocationEntry& relocation_entry)
override;
119 void visit(
const Export& export_)
override;
120 void visit(
const ExportEntry& export_entry)
override;
121 void visit(
const TLS& tls)
override;
122 void visit(
const Symbol& Symbol)
override;
123 void visit(
const Debug& debug)
override;
124 void visit(
const CodeView& cv)
override;
125 void visit(
const CodeViewPDB& cvpdb)
override;
126 void visit(
const Import&
import)
override;
127 void visit(
const ImportEntry& import_entry)
override;
128 void visit(
const DelayImport&
import)
override;
129 void visit(
const DelayImportEntry& import_entry)
override;
130 void visit(
const ResourceNode& resource_node)
override;
131 void visit(
const ResourceData& resource_data)
override;
132 void visit(
const ResourceDirectory& resource_directory)
override;
133 void visit(
const ResourcesManager& resources_manager)
override;
134 void visit(
const ResourceVersion& resource_version)
override;
135 void visit(
const ResourceStringFileInfo& resource_sfi)
override;
136 void visit(
const ResourceFixedFileInfo& resource_ffi)
override;
137 void visit(
const ResourceVarFileInfo& resource_vfi)
override;
138 void visit(
const LangCodeItem& resource_lci)
override;
139 void visit(
const ResourceIcon& resource_icon)
override;
140 void visit(
const ResourceDialog& dialog)
override;
141 void visit(
const ResourceDialogItem& dialog_item)
override;
142 void visit(
const ResourceStringTable& string_table)
override;
143 void visit(
const ResourceAccelerator& acc)
override;
144 void visit(
const Signature& signature)
override;
145 void visit(
const x509& x509)
override;
146 void visit(
const SignerInfo& signerinfo)
override;
147 void visit(
const ContentInfo& contentinfo)
override;
148 void visit(
const GenericContent& content)
override;
149 void visit(
const SpcIndirectData& content)
override;
150 void visit(
const Attribute& attr)
override;
151 void visit(
const ContentType& attr)
override;
152 void visit(
const GenericType& attr)
override;
153 void visit(
const MsCounterSign& attr)
override;
154 void visit(
const MsSpcNestedSignature& attr)
override;
155 void visit(
const MsSpcStatementType& attr)
override;
156 void visit(
const MsManifestBinaryID& attr)
override;
157 void visit(
const PKCS9AtSequenceNumber& attr)
override;
158 void visit(
const PKCS9CounterSignature& attr)
override;
159 void visit(
const PKCS9MessageDigest& attr)
override;
160 void visit(
const PKCS9SigningTime& attr)
override;
161 void visit(
const SpcSpOpusInfo& attr)
override;
162 void visit(
const SpcRelaxedPeMarkerCheck& attr)
override;
163 void visit(
const SigningCertificateV2& attr)
override;
164 void visit(
const CodeIntegrity& code_integrity)
override;
165 void visit(
const LoadConfiguration& config)
override;
166 void visit(
const LoadConfigurationV0& config)
override;
167 void visit(
const LoadConfigurationV1& config)
override;
168 void visit(
const LoadConfigurationV2& config)
override;
169 void visit(
const LoadConfigurationV3& config)
override;
170 void visit(
const LoadConfigurationV4& config)
override;
171 void visit(
const LoadConfigurationV5& config)
override;
172 void visit(
const LoadConfigurationV6& config)
override;
173 void visit(
const LoadConfigurationV7& config)
override;
174 void visit(
const LoadConfigurationV8& config)
override;
175 void visit(
const LoadConfigurationV9& config)
override;
176 void visit(
const LoadConfigurationV10& config)
override;
177 void visit(
const LoadConfigurationV11& config)
override;
179 void visit(
const Pogo& pogo)
override;
180 void visit(
const PogoEntry& entry)
override;
181 void visit(
const Repro& entry)
override;
size_t value_type
Definition hash.hpp:33
static value_type hash(const Object &obj)
Definition hash.hpp:119
virtual void visit(const Object &)
virtual Hash & process(const Object &obj)
Interface over PKCS #7 attribute.
Definition PE/signature/Attribute.hpp:29
Class which represents a PE binary This is the main interface to manage and modify a PE executable.
Definition PE/Binary.hpp:52
Definition CodeIntegrity.hpp:30
CodeView PDB specialization.
Definition CodeViewPDB.hpp:34
Interface for the (generic) Debug CodeView (IMAGE_DEBUG_TYPE_CODEVIEW)
Definition CodeView.hpp:26
Definition ContentInfo.hpp:78
Interface over the structure described by the OID 1.2.840.113549.1.9.3 (PKCS #9)
Definition ContentType.hpp:37
Class that represents a PE data directory entry.
Definition DataDirectory.hpp:38
This class represents a generic entry in the debug data directory. For known types,...
Definition debug/Debug.hpp:38
Class that represents an entry (i.e. an import) in the delay import table (DelayImport).
Definition DelayImportEntry.hpp:38
Class that represents a PE delayed import.
Definition DelayImport.hpp:36
Class which represents a PE Export entry (cf. PE::Export)
Definition ExportEntry.hpp:33
Class which represents a PE Export.
Definition Export.hpp:38
Interface over an attribute for which the internal structure is not supported by LIEF.
Definition GenericType.hpp:31
Class which implements a visitor to compute a deterministic hash for LIEF PE objects.
Definition PE/hash.hpp:98
void visit(const LoadConfigurationV9 &config) override
Method to visit a LIEF::PE::LoadConfigurationV9.
void visit(const SigningCertificateV2 &attr) override
Method to visit a LIEF::PE::SigningCertificateV2.
void visit(const DelayImport &import) override
Method to visit a LIEF::PE::DelayImport.
void visit(const Repro &entry) override
Method to visit a LIEF::PE::Repro.
void visit(const Attribute &attr) override
Method to visit a LIEF::PE::Attribute.
void visit(const ResourceData &resource_data) override
Method to visit a LIEF::PE::ResourceData.
void visit(const MsSpcStatementType &attr) override
Method to visit a LIEF::PE::MsSpcStatementType.
void visit(const ResourceIcon &resource_icon) override
Method to visit a LIEF::PE::ResourceIcon.
void visit(const Header &header) override
Method to visit a LIEF::PE::Header.
void visit(const ResourceDialog &dialog) override
Method to visit a LIEF::PE::ResourceDialog.
void visit(const LoadConfigurationV4 &config) override
Method to visit a LIEF::PE::LoadConfigurationV4.
void visit(const ResourceVarFileInfo &resource_vfi) override
Method to visit a LIEF::PE::ResourceVarFileInfo.
void visit(const x509 &x509) override
Method to visit a LIEF::PE::x509.
void visit(const MsManifestBinaryID &attr) override
Method to visit a LIEF::PE::MsManifestBinaryID.
void visit(const ResourceDirectory &resource_directory) override
Method to visit a LIEF::PE::ResourceDirectory.
void visit(const LoadConfigurationV11 &config) override
Method to visit a LIEF::PE::LoadConfigurationV11.
void visit(const Binary &Binary) override
Method to visit a LIEF::PE::Binary.
void visit(const TLS &tls) override
Method to visit a LIEF::PE::TLS.
void visit(const RelocationEntry &relocation_entry) override
Method to visit a LIEF::PE::RelocationEntry.
void visit(const ContentType &attr) override
Method to visit a LIEF::PE::ContentType.
void visit(const ResourceDialogItem &dialog_item) override
Method to visit a LIEF::PE::ResourceDialogItem.
void visit(const LangCodeItem &resource_lci) override
Method to visit a LIEF::PE::LangCodeItem.
void visit(const PKCS9MessageDigest &attr) override
Method to visit a LIEF::PE::PKCS9MessageDigest.
void visit(const GenericType &attr) override
Method to visit a LIEF::PE::GenericType.
void visit(const PogoEntry &entry) override
Method to visit a LIEF::PE::PogoEntry.
void visit(const LoadConfigurationV5 &config) override
Method to visit a LIEF::PE::LoadConfigurationV5.
void visit(const ResourceNode &resource_node) override
Method to visit a LIEF::PE::ResourceNode.
void visit(const LoadConfigurationV2 &config) override
Method to visit a LIEF::PE::LoadConfigurationV2.
void visit(const ContentInfo &contentinfo) override
Method to visit a LIEF::PE::ContentInfo.
void visit(const RichHeader &rich_header) override
Method to visit a LIEF::PE:RichHeader.
void visit(const ResourceAccelerator &acc) override
Method to visit a LIEF::PE::ResourceAccelerator.
void visit(const SpcRelaxedPeMarkerCheck &attr) override
Method to visit a LIEF::PE::SpcRelaxedPeMarkerCheck.
void visit(const DataDirectory &data_directory) override
Method to visit a LIEF::PE::DataDirectory.
void visit(const LoadConfigurationV1 &config) override
Method to visit a LIEF::PE::LoadConfigurationV1.
void visit(const PKCS9CounterSignature &attr) override
Method to visit a LIEF::PE::PKCS9CounterSignature.
void visit(const CodeIntegrity &code_integrity) override
Method to visit a LIEF::PE::CodeIntegrity.
void visit(const SpcSpOpusInfo &attr) override
Method to visit a LIEF::PE::SpcSpOpusInfo.
void visit(const PKCS9AtSequenceNumber &attr) override
Method to visit a LIEF::PE::PKCS9AtSequenceNumber.
void visit(const Export &export_) override
Method to visit a LIEF::PE::Export.
void visit(const Debug &debug) override
Method to visit a LIEF::PE::Debug.
void visit(const ResourcesManager &resources_manager) override
Method to visit a LIEF::PE::ResourceVersion.
void visit(const ResourceFixedFileInfo &resource_ffi) override
Method to visit a LIEF::PE::ResourceFixedFileInfo.
void visit(const LoadConfigurationV8 &config) override
Method to visit a LIEF::PE::LoadConfigurationV8.
void visit(const ImportEntry &import_entry) override
Method to visit a LIEF::PE::ImportEntry.
void visit(const DelayImportEntry &import_entry) override
Method to visit a LIEF::PE::DelayImportEntry.
void visit(const MsCounterSign &attr) override
Method to visit a LIEF::PE::MsCounterSign.
void visit(const LoadConfigurationV10 &config) override
Method to visit a LIEF::PE::LoadConfigurationV10.
void visit(const MsSpcNestedSignature &attr) override
Method to visit a LIEF::PE::MsSpcNestedSignature.
void visit(const LoadConfigurationV7 &config) override
Method to visit a LIEF::PE::LoadConfigurationV7.
void visit(const PKCS9SigningTime &attr) override
Method to visit a LIEF::PE::PKCS9SigningTime.
void visit(const Symbol &Symbol) override
Method to visit a LIEF::PE::Symbol.
void visit(const ResourceStringFileInfo &resource_sfi) override
Method to visit a LIEF::PE::ResourceStringFileInfo.
void visit(const Import &import) override
Method to visit a LIEF::PE::Import.
void visit(const Section §ion) override
Method to visit a LIEF::PE::Section.
void visit(const CodeView &cv) override
Method to visit a LIEF::PE::CodeView.
void visit(const LoadConfigurationV3 &config) override
Method to visit a LIEF::PE::LoadConfigurationV3.
void visit(const LoadConfigurationV0 &config) override
Method to visit a LIEF::PE::LoadConfigurationV0.
void visit(const RichEntry &rich_entry) override
Method to visit a LIEF::PE:RichEntry.
void visit(const CodeViewPDB &cvpdb) override
Method to visit a LIEF::PE::CodeViewPDB.
void visit(const SignerInfo &signerinfo) override
Method to visit a LIEF::PE::SignerInfo.
void visit(const Pogo &pogo) override
Method to visit a LIEF::PE::Pogo.
void visit(const ExportEntry &export_entry) override
Method to visit a LIEF::PE::ExportEntry.
void visit(const ResourceStringTable &string_table) override
Method to visit a LIEF::PE::ResourceStringTable.
void visit(const LoadConfiguration &config) override
Method to visit a LIEF::PE::LoadConfiguration.
void visit(const GenericContent &content) override
Method to visit a LIEF::PE::GenericContent.
void visit(const ResourceVersion &resource_version) override
Method to visit a LIEF::PE::ResourceVersion.
void visit(const LoadConfigurationV6 &config) override
Method to visit a LIEF::PE::LoadConfigurationV6.
void visit(const Relocation &relocation) override
Method to visit a LIEF::PE::Relocation.
void visit(const Signature &signature) override
Method to visit a LIEF::PE::Signature.
void visit(const OptionalHeader &optional_header) override
Method to visit a LIEF::PE::OptionalHeader.
void visit(const DosHeader &dos_header) override
Method to visit a LIEF::PE::DosHeader.
static LIEF::Hash::value_type hash(const Object &obj)
void visit(const SpcIndirectData &content) override
Method to visit a LIEF::PE::SpcIndirectData.
Class that represents an entry (i.e. an import) in the import table (Import).
Definition ImportEntry.hpp:36
Class that represents a PE import.
Definition Import.hpp:39
Class which represents the childs of the ResourceStringFileInfo.
Definition LangCodeItem.hpp:37
LoadConfiguration enhanced with SEH.
Definition LoadConfigurationV0.hpp:32
Definition LoadConfigurationV10.hpp:32
Definition LoadConfigurationV11.hpp:32
LoadConfiguration enhanced with Control Flow Guard.
Definition LoadConfigurationV1.hpp:36
LoadConfiguration enhanced with code integrity.
Definition LoadConfigurationV2.hpp:34
LoadConfiguration with Control Flow Guard improved.
Definition LoadConfigurationV3.hpp:32
Load Configuration enhanced with.
Definition LoadConfigurationV4.hpp:35
Load Configuration enhanced with Return Flow Guard.
Definition LoadConfigurationV5.hpp:32
Load Configuration enhanced with Hotpatch and improved RFG.
Definition LoadConfigurationV6.hpp:33
Definition LoadConfigurationV7.hpp:32
Definition LoadConfigurationV8.hpp:33
Definition LoadConfigurationV9.hpp:31
Class that represents the default PE's LoadConfiguration
Definition LoadConfiguration.hpp:35
This class exposes the MS Counter Signature attribute.
Definition MsCounterSign.hpp:32
Interface over the structure described by the OID 1.3.6.1.4.1.311.2.4.1
Definition MsSpcNestedSignature.hpp:36
Interface over the structure described by the OID 1.3.6.1.4.1.311.2.1.11
Definition MsSpcStatementType.hpp:34
Interface over the structure described by the OID 1.2.840.113549.1.9.25.4 (PKCS #9)
Definition PKCS9AtSequenceNumber.hpp:43
Interface over the structure described by the OID 1.2.840.113549.1.9.6 (PKCS #9)
Definition PKCS9CounterSignature.hpp:38
Interface over the structure described by the OID 1.2.840.113549.1.9.4 (PKCS #9)
Definition PKCS9MessageDigest.hpp:46
Interface over the structure described by the OID 1.2.840.113549.1.9.5 (PKCS #9)
Definition PKCS9SigningTime.hpp:42
Definition PogoEntry.hpp:30
This class represents a Profile Guided Optimization entry from the debug directory (IMAGE_DEBUG_TYPE_...
Definition Pogo.hpp:33
Class which represents an entry of the PE relocation table.
Definition RelocationEntry.hpp:36
Class which represents the Base Relocation Block We usually find this structure in the ....
Definition PE/Relocation.hpp:37
This class represents a reproducible build entry from the debug directory. (IMAGE_DEBUG_TYPE_REPRO)....
Definition Repro.hpp:36
Definition ResourceAccelerator.hpp:38
Class which represents a Data Node in the PE resources tree.
Definition ResourceData.hpp:32
This class represents an item in the ResourceDialog.
Definition ResourceDialogItem.hpp:40
Representation of a dialog box.
Definition ResourceDialog.hpp:47
Definition ResourceDirectory.hpp:33
Representation of VS_FIXEDFILEINFO Structure.
Definition ResourceFixedFileInfo.hpp:36
Definition ResourceIcon.hpp:39
Class which represents a Node in the resource tree.
Definition ResourceNode.hpp:36
Representation of the StringFileInfo structure.
Definition ResourceStringFileInfo.hpp:38
Definition ResourceStringTable.hpp:28
This object describes information about languages supported by the application.
Definition ResourceVarFileInfo.hpp:36
Representation of the data associated with the RT_VERSION entry.
Definition ResourceVersion.hpp:38
The Resource Manager provides an enhanced API to manipulate the resource tree.
Definition ResourcesManager.hpp:38
Class which represents an entry associated to the RichHeader.
Definition RichEntry.hpp:28
Class which represents a PE section.
Definition PE/Section.hpp:43
Main interface for the PKCS #7 signature scheme.
Definition Signature.hpp:39
Definition SignerInfo.hpp:54
SigningCertificateV2 ::= SEQUENCE { certs SEQUENCE OF ESSCertIDv2, policies SEQUENCE OF PolicyInforma...
Definition SigningCertificateV2.hpp:44
Definition SpcRelaxedPeMarkerCheck.hpp:25
Interface over the structure described by the OID 1.3.6.1.4.1.311.2.1.12
Definition SpcSpOpusInfo.hpp:39
Class that represents a PE symbol.
Definition PE/Symbol.hpp:40
Class which represents the PE Thread Local Storage.
Definition TLS.hpp:42
Interface over a x509 certificate.
Definition x509.hpp:43
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41