diff --git a/capa/features/extractors/viv/insn.py b/capa/features/extractors/viv/insn.py index d5492741..ce2c2f01 100644 --- a/capa/features/extractors/viv/insn.py +++ b/capa/features/extractors/viv/insn.py @@ -134,8 +134,8 @@ def extract_insn_api_features(fh: FunctionHandle, bb, ih: InsnHandle) -> Iterato for section in elf.sections: if section.sh_info & SHT_SYMTAB: strtab_section = elf.sections[section.vsGetField("sh_link")] - sh_symtab = Shdr.from_viv(section, elf.getSectionBytes(section.name)) - sh_strtab = Shdr.from_viv(strtab, elf.getSectionBytes(strtab.name)) + sh_symtab = Shdr.from_viv(section, elf.readAtOffset(section.sh_offset, section.sh_size)) + sh_strtab = Shdr.from_viv(strtab, elf.readAtOffset(strtab.sh_offset, strtab.sh_size)) symtab = SymTab(endian, bitness, sh_symtab, sh_strtab) f.vw.metadata["SymbolTable"] = symtab