summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2025-06-08 08:54:09 +0000
committermidipix <writeonce@midipix.org>2025-06-08 08:54:09 +0000
commit6b0f3362baf35647b39db85b33fc526d8c1da2d4 (patch)
treeb5fabefce3106d4ce4fb94c7a43cf5818bbe225c
parentd3dd3bb3e8f5e35cf068604c39c79e9338039bbe (diff)
downloadperk-6b0f3362baf35647b39db85b33fc526d8c1da2d4.tar.bz2
perk-6b0f3362baf35647b39db85b33fc526d8c1da2d4.tar.xz
struct pe_meta_coff_symbol: added and integrated .cs_crc32 and .cs_crc64.
-rw-r--r--include/perk/perk_meta.h2
-rw-r--r--src/logic/pe_image_meta_data.c7
2 files changed, 9 insertions, 0 deletions
diff --git a/include/perk/perk_meta.h b/include/perk/perk_meta.h
index fca10ad..61fc199 100644
--- a/include/perk/perk_meta.h
+++ b/include/perk/perk_meta.h
@@ -254,6 +254,8 @@ struct pe_meta_import_lookup {
struct pe_meta_coff_symbol {
char * cs_name;
uint32_t cs_value;
+ uint32_t cs_crc32;
+ uint64_t cs_crc64;
int16_t cs_section_number;
uint16_t cs_type;
unsigned char cs_storage_class;
diff --git a/src/logic/pe_image_meta_data.c b/src/logic/pe_image_meta_data.c
index 274275c..ac6b728 100644
--- a/src/logic/pe_image_meta_data.c
+++ b/src/logic/pe_image_meta_data.c
@@ -339,6 +339,7 @@ int pe_meta_get_image_meta(
long l;
unsigned j;
+ void * addr;
char * base;
const unsigned char * mark;
uint64_t vaddr;
@@ -389,6 +390,12 @@ int pe_meta_get_image_meta(
&m->r_symtbl[i],symrec,
&m->m_coff,base);
+ addr = symrec->cs_name;
+ mark = addr;
+
+ symrec->cs_crc32 = pe_hash_mbstr_crc32(mark);
+ symrec->cs_crc64 = pe_hash_mbstr_crc64(mark);
+
i += m->r_symtbl[i].cs_num_of_aux_recs[0];
}