16#ifndef LIEF_PE_REPRO_H
17#define LIEF_PE_REPRO_H
21#include "LIEF/visibility.h"
22#include "LIEF/PE/debug/Debug.hpp"
23#include "LIEF/span.hpp"
43 Debug{Debug::TYPES::REPRO}
46 Repro(std::vector<uint8_t> hash) :
47 Debug{Debug::TYPES::REPRO},
48 hash_{std::move(hash)}
51 Repro(
const details::pe_debug& dbg, std::vector<uint8_t> hash) :
53 hash_{std::move(hash)}
60 span<const uint8_t>
hash()
const {
64 span<uint8_t> hash() {
68 void hash(std::vector<uint8_t> h) {
72 std::unique_ptr<Debug> clone()
const override {
73 return std::unique_ptr<Debug>(
new Repro(*
this));
76 static bool classof(
const Debug* debug) {
77 return debug->type() == Debug::TYPES::REPRO;
80 void accept(Visitor& visitor)
const override;
82 LIEF_API
friend std::ostream& operator<<(std::ostream& os,
const Repro& entry);
87 std::vector<uint8_t> hash_;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
This class represents a generic entry in the debug data directory. For known types,...
Definition debug/Debug.hpp:38
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:47
This class represents a reproducible build entry from the debug directory. (IMAGE_DEBUG_TYPE_REPRO)....
Definition Repro.hpp:36
span< const uint8_t > hash() const
The hash associated with the reproducible build.
Definition Repro.hpp:60
LIEF namespace.
Definition Abstract/Binary.hpp:32