diff --git a/include/pemagine/pe_structs.h b/include/pemagine/pe_structs.h index 9155056..a465ef5 100644 --- a/include/pemagine/pe_structs.h +++ b/include/pemagine/pe_structs.h @@ -99,23 +99,23 @@ struct pe_raw_opt_hdr_dirs { }; struct pe_raw_data_dirs { - unsigned char rva_and_sizes [0x04]; - unsigned char export_tbl [0x08]; - unsigned char import_tbl [0x08]; - unsigned char resource_tbl [0x08]; - unsigned char exception_tbl [0x08]; - unsigned char certificate_tbl [0x08]; - unsigned char base_reloc_tbl [0x08]; - unsigned char debug [0x08]; - unsigned char arch [0x08]; - unsigned char global_ptr [0x08]; - unsigned char tls_tbl [0x08]; - unsigned char load_config_tbl [0x08]; - unsigned char bound_import [0x08]; - unsigned char iat [0x08]; - unsigned char delay_import_descriptor [0x08]; - unsigned char clr_runtime_hdr [0x08]; - unsigned char reserved [0x08]; + unsigned char coh_rva_and_sizes [0x04]; + unsigned char coh_export_tbl [0x08]; + unsigned char coh_import_tbl [0x08]; + unsigned char coh_resource_tbl [0x08]; + unsigned char coh_exception_tbl [0x08]; + unsigned char coh_certificate_tbl [0x08]; + unsigned char coh_base_reloc_tbl [0x08]; + unsigned char coh_debug [0x08]; + unsigned char coh_arch [0x08]; + unsigned char coh_global_ptr [0x08]; + unsigned char coh_tls_tbl [0x08]; + unsigned char coh_load_config_tbl [0x08]; + unsigned char coh_bound_import [0x08]; + unsigned char coh_iat [0x08]; + unsigned char coh_delay_import_descriptor [0x08]; + unsigned char coh_clr_runtime_hdr [0x08]; + unsigned char coh_reserved [0x08]; }; struct pe_raw_opt_hdr_32 { diff --git a/src/headers/pe_get_image_special_hdr_addr.c b/src/headers/pe_get_image_special_hdr_addr.c index 4995fc6..8d1d9c6 100644 --- a/src/headers/pe_get_image_special_hdr_addr.c +++ b/src/headers/pe_get_image_special_hdr_addr.c @@ -20,12 +20,12 @@ void * pe_get_image_special_hdr_addr(const void * base, uint32_t ordinal, uint32 if (!(dirs = pe_get_image_data_dirs_addr(base))) return 0; - count = (uint32_t *)dirs->rva_and_sizes; + count = (uint32_t *)dirs->coh_rva_and_sizes; if (*count < (ordinal+1)) return 0; - dir = (struct pe_block *)dirs->export_tbl; + dir = (struct pe_block *)dirs->coh_export_tbl; dir += ordinal; if (sec_size)