diff options
-rw-r--r-- | include/perk/perk_meta.h | 1 | ||||
-rw-r--r-- | src/logic/pe_get_image_meta.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/perk/perk_meta.h b/include/perk/perk_meta.h index eb05897..375c672 100644 --- a/include/perk/perk_meta.h +++ b/include/perk/perk_meta.h @@ -198,6 +198,7 @@ struct pe_meta_sec_hdr { /* .edata section header*/ struct pe_meta_export_hdr { + uint32_t eh_virtual_addr; uint32_t eh_export_flags; uint32_t eh_time_date_stamp; uint16_t eh_major_ver; diff --git a/src/logic/pe_get_image_meta.c b/src/logic/pe_get_image_meta.c index 4943780..38d544a 100644 --- a/src/logic/pe_get_image_meta.c +++ b/src/logic/pe_get_image_meta.c @@ -384,9 +384,11 @@ int pe_get_image_meta( m->h_edata = &m->m_sectbl[s]; m->r_edata = (struct pe_raw_export_hdr *)(base + m->m_sectbl[s].sh_ptr_to_raw_data + m->m_opt.oh_dirs.coh_export_tbl.dh_rva - m->m_sectbl[s].sh_virtual_addr); + m->m_edata.eh_virtual_addr = m->m_opt.oh_dirs.coh_export_tbl.dh_rva; } else if (i >= 0) { m->h_edata = &m->m_sectbl[i]; m->r_edata = (struct pe_raw_export_hdr *)(base + m->m_sectbl[i].sh_ptr_to_raw_data); + m->m_edata.eh_virtual_addr = m->m_sectbl[i].sh_virtual_addr; } if (m->r_edata) { |