2020-04-11 12:32:38 -06:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2020, Andrew Kaster <andrewdkaster@gmail.com>
|
|
|
|
|
*
|
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 {
|
|
|
|
|
|
2020-09-18 09:49:51 +02:00
|
|
|
bool validate_elf_header(const Elf32_Ehdr& elf_header, size_t file_size, bool verbose = true);
|
2020-11-30 23:21:55 -07:00
|
|
|
bool validate_program_headers(const Elf32_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
|