├── .clang-format ├── .gitignore ├── LICENSE ├── README.md ├── example ├── example.c ├── linker.ld └── start_emulation.py ├── include └── termcolor.h ├── meson.build ├── run_example.py ├── screenshot.png ├── src └── main.cpp └── subprojects ├── armory ├── include │ └── armory │ │ ├── context.h │ │ ├── fault_combination.h │ │ ├── fault_model.h │ │ ├── fault_simulator.h │ │ ├── fault_tracer.h │ │ ├── instruction_fault_model.h │ │ ├── register_fault_model.h │ │ ├── snapshot.h │ │ ├── subset_chooser.h │ │ ├── termcolor.h │ │ └── types.h ├── meson.build └── src │ ├── fault_combination.cpp │ ├── fault_model.cpp │ ├── fault_simulator.cpp │ ├── fault_tracer.cpp │ ├── instruction_fault_model.cpp │ ├── meson.build │ ├── register_fault_model.cpp │ ├── simulate_instruction_fault.cpp │ ├── simulate_register_fault.cpp │ └── snapshot.cpp ├── armory_cli ├── include │ └── armory_cli │ │ ├── armory_cli.h │ │ ├── configuration.h │ │ ├── fault_models.h │ │ ├── fault_printing.h │ │ └── termcolor.h ├── meson.build └── src │ ├── armory_cli.cpp │ ├── fault_models.cpp │ ├── fault_printing.cpp │ └── meson.build └── m-ulator ├── include └── m-ulator │ ├── architectures.h │ ├── arm_functions.h │ ├── callback_hook.h │ ├── conditions.h │ ├── disassembler.h │ ├── emulator.h │ ├── instruction.h │ ├── instruction_decoder.h │ ├── memory_region.h │ ├── mnemonics.h │ ├── registers.h │ ├── return_codes.h │ ├── shift_types.h │ └── types.h ├── meson.build └── src ├── architectures.cpp ├── arm_functions.cpp ├── conditions.cpp ├── disassembler.cpp ├── emulator_base.cpp ├── emulator_execution.cpp ├── instruction.cpp ├── instruction_decoder.cpp ├── meson.build ├── mnemonics.cpp ├── registers.cpp ├── return_codes.cpp └── shift_types.cpp /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | .vscode 3 | example/tmp_data/ 4 | disassembled.txt 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/README.md -------------------------------------------------------------------------------- /example/example.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/example/example.c -------------------------------------------------------------------------------- /example/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/example/linker.ld -------------------------------------------------------------------------------- /example/start_emulation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/example/start_emulation.py -------------------------------------------------------------------------------- /include/termcolor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/include/termcolor.h -------------------------------------------------------------------------------- /meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/meson.build -------------------------------------------------------------------------------- /run_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/run_example.py -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/screenshot.png -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/src/main.cpp -------------------------------------------------------------------------------- /subprojects/armory/include/armory/context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/context.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/fault_combination.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/fault_combination.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/fault_model.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/fault_model.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/fault_simulator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/fault_simulator.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/fault_tracer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/fault_tracer.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/instruction_fault_model.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/instruction_fault_model.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/register_fault_model.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/register_fault_model.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/snapshot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/snapshot.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/subset_chooser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/subset_chooser.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/termcolor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/termcolor.h -------------------------------------------------------------------------------- /subprojects/armory/include/armory/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/include/armory/types.h -------------------------------------------------------------------------------- /subprojects/armory/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/meson.build -------------------------------------------------------------------------------- /subprojects/armory/src/fault_combination.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/fault_combination.cpp -------------------------------------------------------------------------------- /subprojects/armory/src/fault_model.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/fault_model.cpp -------------------------------------------------------------------------------- /subprojects/armory/src/fault_simulator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/fault_simulator.cpp -------------------------------------------------------------------------------- /subprojects/armory/src/fault_tracer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/fault_tracer.cpp -------------------------------------------------------------------------------- /subprojects/armory/src/instruction_fault_model.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/instruction_fault_model.cpp -------------------------------------------------------------------------------- /subprojects/armory/src/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/meson.build -------------------------------------------------------------------------------- /subprojects/armory/src/register_fault_model.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/register_fault_model.cpp -------------------------------------------------------------------------------- /subprojects/armory/src/simulate_instruction_fault.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/simulate_instruction_fault.cpp -------------------------------------------------------------------------------- /subprojects/armory/src/simulate_register_fault.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/simulate_register_fault.cpp -------------------------------------------------------------------------------- /subprojects/armory/src/snapshot.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory/src/snapshot.cpp -------------------------------------------------------------------------------- /subprojects/armory_cli/include/armory_cli/armory_cli.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/include/armory_cli/armory_cli.h -------------------------------------------------------------------------------- /subprojects/armory_cli/include/armory_cli/configuration.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/include/armory_cli/configuration.h -------------------------------------------------------------------------------- /subprojects/armory_cli/include/armory_cli/fault_models.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/include/armory_cli/fault_models.h -------------------------------------------------------------------------------- /subprojects/armory_cli/include/armory_cli/fault_printing.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/include/armory_cli/fault_printing.h -------------------------------------------------------------------------------- /subprojects/armory_cli/include/armory_cli/termcolor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/include/armory_cli/termcolor.h -------------------------------------------------------------------------------- /subprojects/armory_cli/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/meson.build -------------------------------------------------------------------------------- /subprojects/armory_cli/src/armory_cli.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/src/armory_cli.cpp -------------------------------------------------------------------------------- /subprojects/armory_cli/src/fault_models.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/src/fault_models.cpp -------------------------------------------------------------------------------- /subprojects/armory_cli/src/fault_printing.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/src/fault_printing.cpp -------------------------------------------------------------------------------- /subprojects/armory_cli/src/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/armory_cli/src/meson.build -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/architectures.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/architectures.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/arm_functions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/arm_functions.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/callback_hook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/callback_hook.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/conditions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/conditions.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/disassembler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/disassembler.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/emulator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/emulator.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/instruction.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/instruction.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/instruction_decoder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/instruction_decoder.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/memory_region.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/memory_region.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/mnemonics.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/mnemonics.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/registers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/registers.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/return_codes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/return_codes.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/shift_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/shift_types.h -------------------------------------------------------------------------------- /subprojects/m-ulator/include/m-ulator/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/include/m-ulator/types.h -------------------------------------------------------------------------------- /subprojects/m-ulator/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/meson.build -------------------------------------------------------------------------------- /subprojects/m-ulator/src/architectures.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/architectures.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/arm_functions.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/arm_functions.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/conditions.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/conditions.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/disassembler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/disassembler.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/emulator_base.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/emulator_base.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/emulator_execution.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/emulator_execution.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/instruction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/instruction.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/instruction_decoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/instruction_decoder.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/meson.build -------------------------------------------------------------------------------- /subprojects/m-ulator/src/mnemonics.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/mnemonics.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/registers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/registers.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/return_codes.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/return_codes.cpp -------------------------------------------------------------------------------- /subprojects/m-ulator/src/shift_types.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emsec/arm-fault-simulator/HEAD/subprojects/m-ulator/src/shift_types.cpp --------------------------------------------------------------------------------