[generic-experiment/ElfReader] access listeners based on ELF segments

This patch uses ELF segments instead of section for determining the
extent of the binary in memory. Consequently, the outerspace listener
was modified to use these new bounds. Additionally, the generic
experiment was changed to include a lowerspace listener, which listens
for write access below the physical memory location of the ELF.
This commit is contained in:
Malte Bargholz
2020-10-05 17:25:33 +02:00
committed by Christian Dietrich
parent 86267cce9f
commit cd150a6f5b
4 changed files with 254 additions and 38 deletions

View File

@ -31,6 +31,9 @@ class GenericExperiment : public fail::DatabaseExperiment {
bool enabled_mem_outerspace;
fail::MemAccessListener l_mem_outerspace;
bool enabled_mem_lowerspace;
fail::MemAccessListener l_mem_lowerspace;
bool enabled_trap;
fail::TrapListener l_trap;
@ -62,6 +65,7 @@ public:
l_trap(fail::ANY_TRAP), l_timeout(0) {
enabled_mem_text = false;
enabled_mem_outerspace = false;
enabled_mem_lowerspace = false;
enabled_trap = false;
enabled_timeout = false;