2020-04-11 12:32:38 -06:00
|
|
|
/*
|
2021-05-30 07:28:59 -06:00
|
|
|
* Copyright (c) 2020, Andrew Kaster <akaster@serenityos.org>
|
2020-04-11 12:32:38 -06:00
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-04-11 12:32:38 -06:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2021-01-21 20:55:37 +01:00
|
|
|
#include <AK/String.h>
|
2021-04-16 21:53:43 +02:00
|
|
|
#include <LibC/elf.h>
|
2020-04-11 12:32:38 -06:00
|
|
|
|
|
|
|
|
namespace ELF {
|
|
|
|
|
|
2021-06-28 17:24:08 +02:00
|
|
|
bool validate_elf_header(const ElfW(Ehdr) & elf_header, size_t file_size, bool verbose = true);
|
|
|
|
|
bool validate_program_headers(const ElfW(Ehdr) & elf_header, size_t file_size, const u8* buffer, size_t buffer_size, String* interpreter_path, bool verbose = true);
|
2020-04-11 12:32:38 -06:00
|
|
|
|
|
|
|
|
} // end namespace ELF
|