summaryrefslogtreecommitdiff
path: root/tests/format/elf/oob_section_name.py
blob: da58e2948685fa323f66a2a1c0c9037e079020f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/python
# -*- coding: utf-8 -*-


# Une section peut avoir un index pour son nom démesurément grand (et invalide).
#
# Si la section des chaînes de caractères est toute aussi grande et invalide,
# l'index invalide reste suffisamment cohérent pour passer les premiers tests
# de extract_name_from_elf_string_section() et conduire ensuite à un plantage
# lors de l'accès concret, au moment de l'appel à strlen().


import pychrysalide

from pychrysalide.analysis.contents import FileContent
from pychrysalide.format.elf import ElfFormat

cnt = FileContent("oob_section_name")

fmt = ElfFormat(cnt)

print(fmt)

print(isinstance(fmt, ElfFormat))