diff options
author | midipix <writeonce@midipix.org> | 2025-06-10 15:36:27 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2025-06-10 18:06:26 +0000 |
commit | 6cc493ea65bf2c94d03f299e6343e8e50b4fb510 (patch) | |
tree | b43078ede385f095b57fc38bc992ad5f41e3fe4b /src/reader | |
parent | a4b1bbeca250dea98f341502d71f09af636f9a1a (diff) | |
download | perk-6cc493ea65bf2c94d03f299e6343e8e50b4fb510.tar.bz2 perk-6cc493ea65bf2c94d03f299e6343e8e50b4fb510.tar.xz |
reader: implemented pe_read_aux_rec_section().
Diffstat (limited to 'src/reader')
-rw-r--r-- | src/reader/pe_read_aux_rec_section.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/reader/pe_read_aux_rec_section.c b/src/reader/pe_read_aux_rec_section.c new file mode 100644 index 0000000..df75352 --- /dev/null +++ b/src/reader/pe_read_aux_rec_section.c @@ -0,0 +1,32 @@ +/***************************************************************/ +/* perk: PE Resource Kit */ +/* Copyright (C) 2015--2025 SysDeer Technologies, LLC */ +/* Released under GPLv2 and GPLv3; see COPYING.PERK. */ +/***************************************************************/ + +#include <perk/perk.h> +#include <perk/perk_consts.h> +#include <perk/perk_structs.h> +#include "perk_endian_impl.h" +#include "perk_reader_impl.h" + +int pe_read_aux_rec_section( + const struct pe_raw_coff_symbol * p, + struct pe_meta_aux_rec_section * m, + int idx) +{ + const void * addr; + const struct pe_raw_aux_rec_section * arec; + + addr = &p[++idx]; + arec = (struct pe_raw_aux_rec_section *)addr; + + m->aux_size = pe_read_long(arec->aux_size); + m->aux_num_of_relocs = pe_read_short(arec->aux_num_of_relocs); + m->aux_num_of_line_nums = pe_read_short(arec->aux_num_of_line_nums); + m->aux_check_sum = pe_read_long(arec->aux_check_sum); + m->aux_number = pe_read_short(arec->aux_number); + m->aux_selection = arec->aux_selection[0]; + + return 0; +} |