From 2292ef3beb8de653e5aa3501448ac0b84e3dc7a6 Mon Sep 17 00:00:00 2001 From: midipix Date: Wed, 11 Jun 2025 20:34:59 +0000 Subject: reader: implemented pe_read_coff_reloc(). --- include/perk/perk.h | 3 +++ include/perk/perk_meta.h | 8 ++++++++ 2 files changed, 11 insertions(+) (limited to 'include') diff --git a/include/perk/perk.h b/include/perk/perk.h index 59b55e5..001f26c 100644 --- a/include/perk/perk.h +++ b/include/perk/perk.h @@ -127,6 +127,7 @@ struct pe_raw_image; struct pe_raw_image_dos_hdr; struct pe_raw_coff_image_hdr; struct pe_raw_coff_object_hdr; +struct pe_raw_coff_reloc; union pe_raw_opt_hdr; struct pe_raw_sec_hdr; struct pe_raw_export_hdr; @@ -352,10 +353,12 @@ perk_api int pe_read_optional_header (const union pe_raw_opt_hdr *, perk_api int pe_read_section_header (const struct pe_raw_sec_hdr *, struct pe_meta_sec_hdr *); perk_api int pe_read_export_header (const struct pe_raw_export_hdr *, struct pe_meta_export_hdr *); perk_api int pe_read_import_header (const struct pe_raw_import_hdr *, struct pe_meta_import_hdr *); +perk_api int pe_read_coff_reloc (const struct pe_raw_coff_reloc *, struct pe_meta_coff_reloc *); perk_api int pe_read_coff_symbol (const struct pe_raw_coff_symbol *, struct pe_meta_coff_symbol *, const struct pe_meta_coff_file_hdr *, void * base); + perk_api int pe_read_import_lookup (const unsigned char *, struct pe_meta_import_lookup *, uint32_t magic); diff --git a/include/perk/perk_meta.h b/include/perk/perk_meta.h index 5a4136f..2b6b0ef 100644 --- a/include/perk/perk_meta.h +++ b/include/perk/perk_meta.h @@ -196,6 +196,14 @@ struct pe_meta_sec_hdr { }; +/* section relocation record */ +struct pe_meta_coff_reloc { + uint32_t rel_rva; + uint32_t rel_sym; + uint16_t rel_type; +}; + + /* .edata section header*/ struct pe_meta_export_hdr { uint32_t eh_virtual_addr; -- cgit v1.2.3