import-trace: introduce RandomJumpImporter
The random jump importer defines trace events, that indicate all
possible jumps into a specific instruction range. The region where
jumps should start can be defined by a memory map given with
--jump-from. For each instruction declared in that memory range, all
possible jumps to a memory region specified by with --jump-to are
inserted. The target of the jump is saved in the data_address
field. So all database tools work as expected.
for each event E \in region(--jump-from):
foreach Instruction in region(--jump-to):
insert_trace(injection_instr = E.IP(), data_address = Instruction.addr)
Change-Id: Ie163968acae47fc6c946fc77774c47ee07950bab
This commit is contained in:
@ -7,6 +7,7 @@ if (BUILD_LLVM_DISASSEMBLER)
|
||||
set(SRCS ${SRCS}
|
||||
InstructionImporter.cc
|
||||
RegisterImporter.cc
|
||||
RandomJumpImporter.cc
|
||||
)
|
||||
|
||||
include(FindLLVM)
|
||||
|
||||
Reference in New Issue
Block a user