From 8511b606d26c470d1b5d73d38d14059c2ef1d929 Mon Sep 17 00:00:00 2001 From: Romain Thomas Date: Sat, 16 Jan 2021 09:19:46 +0100 Subject: [PATCH] Add authenticode example --- examples/cpp/CMakeLists.txt | 1 + examples/cpp/pe_authenticode_check.cpp | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 examples/cpp/pe_authenticode_check.cpp diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt index de6f401..0f625b1 100644 --- a/examples/cpp/CMakeLists.txt +++ b/examples/cpp/CMakeLists.txt @@ -10,6 +10,7 @@ set(LIEF_ELF_CPP_EXAMPLES set(LIEF_PE_CPP_EXAMPLES pe_builder.cpp pe_reader.cpp + pe_authenticode_check.cpp ) set(LIEF_MACHO_CPP_EXAMPLES diff --git a/examples/cpp/pe_authenticode_check.cpp b/examples/cpp/pe_authenticode_check.cpp new file mode 100644 index 0000000..62dc5ad --- /dev/null +++ b/examples/cpp/pe_authenticode_check.cpp @@ -0,0 +1,22 @@ + +#include +#include + +#include +#include + +using namespace LIEF::PE; + +int main(int argc, char **argv) { + if (argc != 2) { + std::cerr << "Usage: " << argv[0] << " " << "\n"; + return 1; + } + std::unique_ptr binary{Parser::parse(argv[1])}; + if (binary->verify_signature() != Signature::VERIFICATION_FLAGS::OK) { + std::cerr << "Signature failed!\n"; + return 1; + } + std::cout << "Signature ok!\n"; + return 0; +}