LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_PE_DEBUG_CODE_VIEW_PDB_H
17#define LIEF_PE_DEBUG_CODE_VIEW_PDB_H
39 using signature_t = std::array<uint8_t, 16>;
42 const details::pe_pdb_70& pdb_70);
44 CodeViewPDB&
operator=(
const CodeViewPDB& other) =
default;
45 std::string
guid()
const;
49 uint32_t
age()
const {
60 const std::string&
filename()
const {
66 void age(uint32_t age) {
75 filename_ = std::move(filename);
78 std::unique_ptr<Debug>
clone()
const override {
79 return std::unique_ptr<Debug>(
new CodeViewPDB(*
this));
83 if (!CodeView::classof(debug)) {
86 const auto& cv =
static_cast<const CodeView&
>(*debug);
88 return cv.signature() == SIGNATURES::PDB_20 ||
89 cv.signature() == SIGNATURES::PDB_70;
92 void accept(Visitor& visitor)
const override;
99 signature_t signature_;
100 std::string filename_;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
CodeView PDB specialization.
Definition CodeViewPDB.hpp:34
CodeViewPDB & operator=(const CodeViewPDB &other)=default
std::string guid() const
The GUID signature to verify against the .pdb file signature. This attribute might be used to lookup ...
void age(uint32_t age)
Definition CodeViewPDB.hpp:66
void accept(Visitor &visitor) const override
static bool classof(const Debug *debug)
Definition CodeViewPDB.hpp:82
CodeViewPDB(const CodeViewPDB &other)=default
const std::string & filename() const
The path to the .pdb file.
Definition CodeViewPDB.hpp:62
uint32_t age() const
Age value to verify. The age does not necessarily correspond to any known time value,...
Definition CodeViewPDB.hpp:52
friend std::ostream & operator<<(std::ostream &os, const CodeViewPDB &entry)
void signature(const signature_t &sig)
Definition CodeViewPDB.hpp:70
~CodeViewPDB() override=default
const signature_t & signature() const
The 32-bit signature to verify against the .pdb file signature.
Definition CodeViewPDB.hpp:57
void filename(std::string filename)
Definition CodeViewPDB.hpp:74
std::unique_ptr< Debug > clone() const override
Definition CodeViewPDB.hpp:78
CodeViewPDB(const details::pe_debug &debug_info, const details::pe_pdb_70 &pdb_70)
Interface for the (generic) Debug CodeView (IMAGE_DEBUG_TYPE_CODEVIEW)
Definition CodeView.hpp:26
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:47
Definition CodeIntegrity.hpp:26
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