16#ifndef LIEF_PE_PDBCHECKSUM_H
17#define LIEF_PE_PDBCHECKSUM_H
30 static std::unique_ptr<PDBChecksum>
41 hash_(std::move(
hash))
48 hash_(std::move(
hash))
57 std::unique_ptr<Debug>
clone()
const override {
58 return std::unique_ptr<Debug>(
new PDBChecksum(*
this));
70 void hash(std::vector<uint8_t> h) {
93 std::vector<uint8_t> hash_;
span< uint8_t > payload()
Debug data associated with this entry.
const Section * section() const
The section where debug data is located.
Definition debug/Debug.hpp:170
TYPES
The entry types.
Definition debug/Debug.hpp:46
@ PDBCHECKSUM
Checksum of the PDB file.
Definition debug/Debug.hpp:97
PDBChecksum(HASH_ALGO algo, std::vector< uint8_t > hash)
Definition PDBChecksum.hpp:38
PDBChecksum & operator=(const PDBChecksum &other)=default
PDBChecksum & operator=(PDBChecksum &&other)=default
HASH_ALGO algorithm() const
Algorithm used for hashing the PDB content.
Definition PDBChecksum.hpp:75
std::unique_ptr< Debug > clone() const override
Definition PDBChecksum.hpp:57
std::string to_string() const override
void algorithm(HASH_ALGO algo)
Definition PDBChecksum.hpp:79
span< uint8_t > hash()
Definition PDBChecksum.hpp:66
PDBChecksum(PDBChecksum &&)=default
PDBChecksum(const details::pe_debug &dbg, Section *sec, HASH_ALGO algo, std::vector< uint8_t > hash)
Definition PDBChecksum.hpp:44
span< const uint8_t > hash() const
Hash of the PDB content.
Definition PDBChecksum.hpp:62
~PDBChecksum() override=default
static bool classof(const Debug *debug)
Definition PDBChecksum.hpp:83
void hash(std::vector< uint8_t > h)
Definition PDBChecksum.hpp:70
HASH_ALGO
Definition PDBChecksum.hpp:33
@ UNKNOWN
Definition PDBChecksum.hpp:34
@ SHA256
Definition PDBChecksum.hpp:35
PDBChecksum(const PDBChecksum &other)=default
static std::unique_ptr< PDBChecksum > parse(const details::pe_debug &hdr, Section *section, span< uint8_t > payload)
Class which represents a PE section.
Definition PE/Section.hpp:46
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
const char * to_string(CODE_PAGES e)
LIEF namespace.
Definition Abstract/Binary.hpp:40
tcb::span< ElementType, Extent > span
Definition span.hpp:22
#define LIEF_API
Definition visibility.h:41