You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
926 B

#pragma once
#include <linuxpe>
#include <llodctor/llodctor_base.hpp>
namespace llo::s1
{
class dctor_pe_t : public dctor_base_t
{
win::dos_header_t *dos_header;
win::section_header_t *sections;
std::uint32_t section_count;
std::uint32_t entry_point;
public:
explicit dctor_pe_t( std::vector< std::uint8_t > &image,
llo::s1::symbol_loader_base_t *symbol_loader = nullptr )
: dctor_base_t( image, symbol_loader )
{
dos_header = reinterpret_cast< win::dos_header_t * >( img.data() );
sections = dos_header->get_nt_headers()->get_sections();
section_count = dos_header->get_nt_headers()->file_header.num_sections;
entry_point = dos_header->get_nt_headers()->optional_header.entry_point;
}
void generate( lloiff_t &iff ) override;
};
} // namespace llo::s1