├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.toml ├── HACKING.md ├── LICENSE ├── Makefile ├── NOTICE ├── README.md ├── bench ├── Cargo.toml ├── README.md ├── bench.sh ├── bench_harness │ ├── .gdb_history │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── fuzzer.rs ├── gather_data │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── generate_graph.py ├── main.rs ├── make_bench_target.sh ├── reset.sh └── src │ ├── fuzzer.rs │ └── main.rs ├── clippy.toml ├── coverage_scripts ├── .ghidra_worker.py ├── bn_snapchange.py └── ghidra_basic_blocks.py ├── docs ├── ARCHITECTURE.md ├── COOKBOOK.md ├── DEBUG_TRACE.md ├── FUZZ_FUNCTION_LIFECYCLE.md ├── PROJECT_DIRECTORY.md ├── REDQUEEN.md ├── REGISTER.md ├── VIRTUALBOX_SNAPSHOT.md └── dashboard.png ├── examples ├── 01_getpid │ ├── DEMO.md │ ├── README.md │ ├── fuzzer.rs │ ├── fuzzer.rs.ami │ ├── harness │ │ └── example1.c │ ├── main.rs │ ├── make_example.sh │ ├── reset.sh │ └── test.sh ├── 02_libtiff │ ├── 0001-snapshot.patch │ ├── README.md │ ├── fuzzer.rs │ ├── fuzzer.rs.ami │ ├── main.rs │ ├── make_example.sh │ ├── reset.sh │ └── test.sh ├── 03_ffmpeg_custom_mutator │ ├── 0001-snapshot.patch │ ├── README.md │ ├── dovi-p7.mp4 │ ├── fuzzer.rs │ ├── fuzzer.rs.ami │ ├── main.rs │ ├── make_example.sh │ ├── mov_generator.rs │ ├── reset.sh │ └── test.sh ├── 04_syscall_fuzzer │ ├── README.md │ ├── fuzzer.rs │ ├── fuzzer.rs.ami │ ├── main.rs │ ├── make_example.sh │ ├── reset.sh │ ├── syscall_harness │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ └── test.sh ├── 05_redqueen │ ├── README.md │ ├── build.rs │ ├── fuzzer.rs │ ├── fuzzer.rs.ami │ ├── harness │ │ ├── redqueen_ami │ │ ├── redqueen_ami.cmps │ │ ├── redqueen_ami.covbps │ │ ├── redqueen_ami.coverage_analysis │ │ └── test_redqueen.c │ ├── main.rs │ ├── make_example.sh │ └── reset.sh ├── init_ami.sh ├── install_ghidra.sh ├── install_prereqs.sh └── test.sh ├── fuzzer_template ├── .build.rs ├── Cargo.toml ├── coverage_scripts │ ├── .ghidra_worker.py │ ├── bn_snapchange.py │ └── ghidra_basic_blocks.py ├── create_snapshot.sh ├── qemu_snapshot │ ├── 0001-Snapchange-patches.patch │ ├── DESIGN.md │ ├── IMAGE │ │ ├── build.sh │ │ └── create-image.sh │ ├── README.md │ ├── combine_symbols.py │ ├── gdbcmds │ ├── gdbsnapshot.py │ ├── init.sh │ ├── snapshot.sh │ └── utils │ │ ├── connect.sh │ │ ├── extract.sh │ │ ├── kill.sh │ │ ├── reset_snapshot.sh │ │ ├── scp.sh │ │ └── start.sh └── src │ ├── fuzzer.rs │ └── main.rs ├── qemu_snapshot ├── 0001-Snapchange-patches.patch ├── DESIGN.md ├── IMAGE │ ├── build.sh │ └── create-image.sh ├── README.md ├── combine_symbols.py ├── gdbcmds ├── gdbsnapshot.py ├── init.sh ├── snapshot.sh └── utils │ ├── connect.sh │ ├── extract.sh │ ├── kill.sh │ ├── reset_snapshot.sh │ ├── scp.sh │ └── start.sh ├── rustfmt.toml ├── src ├── _docs │ ├── architecture.rs │ ├── cookbook.rs │ ├── examples │ │ ├── example1.rs │ │ ├── example2.rs │ │ ├── example3.rs │ │ ├── example4.rs │ │ ├── example5.rs │ │ └── mod.rs │ ├── fuzzer_lifecycle.rs │ ├── mod.rs │ └── qemu_snapshot.rs ├── addrs.rs ├── apic.rs ├── cmdline.rs ├── cmp_analysis.rs ├── colors.rs ├── commands │ ├── coverage.rs │ ├── find_input.rs │ ├── fuzz.rs │ ├── minimize.rs │ ├── mod.rs │ ├── project.rs │ ├── redqueen.rs │ └── trace.rs ├── config.rs ├── coverage_analysis.rs ├── exception.rs ├── expensive_mutators.rs ├── filesystem.rs ├── fuzz_input.rs ├── fuzzer.rs ├── fuzzer │ └── template.rs ├── fuzzvm.rs ├── interrupts.rs ├── kvm.rs ├── lib.rs ├── linux.rs ├── memory.rs ├── msr.rs ├── mutators.rs ├── page_table.rs ├── regs.rs ├── regs │ └── x86.rs ├── rng.rs ├── segment.rs ├── stack_unwinder.rs ├── stats.rs ├── stats_tui.rs ├── symbols.rs ├── timer.rs ├── try_macros.rs ├── utils.rs ├── vbcpu.rs └── x86 │ ├── control_regs.rs │ └── mod.rs └── utils ├── README.md ├── aflpp_dict2file_to_dir.py └── vmlinux_to_symbols.py /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/Cargo.toml -------------------------------------------------------------------------------- /HACKING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/HACKING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/Makefile -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/README.md -------------------------------------------------------------------------------- /bench/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/Cargo.toml -------------------------------------------------------------------------------- /bench/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/README.md -------------------------------------------------------------------------------- /bench/bench.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/bench.sh -------------------------------------------------------------------------------- /bench/bench_harness/.gdb_history: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/bench_harness/.gdb_history -------------------------------------------------------------------------------- /bench/bench_harness/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/bench_harness/Cargo.toml -------------------------------------------------------------------------------- /bench/bench_harness/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/bench_harness/src/main.rs -------------------------------------------------------------------------------- /bench/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/fuzzer.rs -------------------------------------------------------------------------------- /bench/gather_data/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/gather_data/Cargo.toml -------------------------------------------------------------------------------- /bench/gather_data/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/gather_data/src/main.rs -------------------------------------------------------------------------------- /bench/generate_graph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/generate_graph.py -------------------------------------------------------------------------------- /bench/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/main.rs -------------------------------------------------------------------------------- /bench/make_bench_target.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/make_bench_target.sh -------------------------------------------------------------------------------- /bench/reset.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/reset.sh -------------------------------------------------------------------------------- /bench/src/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/src/fuzzer.rs -------------------------------------------------------------------------------- /bench/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/bench/src/main.rs -------------------------------------------------------------------------------- /clippy.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/clippy.toml -------------------------------------------------------------------------------- /coverage_scripts/.ghidra_worker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/coverage_scripts/.ghidra_worker.py -------------------------------------------------------------------------------- /coverage_scripts/bn_snapchange.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/coverage_scripts/bn_snapchange.py -------------------------------------------------------------------------------- /coverage_scripts/ghidra_basic_blocks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/coverage_scripts/ghidra_basic_blocks.py -------------------------------------------------------------------------------- /docs/ARCHITECTURE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/ARCHITECTURE.md -------------------------------------------------------------------------------- /docs/COOKBOOK.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/COOKBOOK.md -------------------------------------------------------------------------------- /docs/DEBUG_TRACE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/DEBUG_TRACE.md -------------------------------------------------------------------------------- /docs/FUZZ_FUNCTION_LIFECYCLE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/FUZZ_FUNCTION_LIFECYCLE.md -------------------------------------------------------------------------------- /docs/PROJECT_DIRECTORY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/PROJECT_DIRECTORY.md -------------------------------------------------------------------------------- /docs/REDQUEEN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/REDQUEEN.md -------------------------------------------------------------------------------- /docs/REGISTER.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/REGISTER.md -------------------------------------------------------------------------------- /docs/VIRTUALBOX_SNAPSHOT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/VIRTUALBOX_SNAPSHOT.md -------------------------------------------------------------------------------- /docs/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/docs/dashboard.png -------------------------------------------------------------------------------- /examples/01_getpid/DEMO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/DEMO.md -------------------------------------------------------------------------------- /examples/01_getpid/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/README.md -------------------------------------------------------------------------------- /examples/01_getpid/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/fuzzer.rs -------------------------------------------------------------------------------- /examples/01_getpid/fuzzer.rs.ami: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/fuzzer.rs.ami -------------------------------------------------------------------------------- /examples/01_getpid/harness/example1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/harness/example1.c -------------------------------------------------------------------------------- /examples/01_getpid/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/main.rs -------------------------------------------------------------------------------- /examples/01_getpid/make_example.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/make_example.sh -------------------------------------------------------------------------------- /examples/01_getpid/reset.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/reset.sh -------------------------------------------------------------------------------- /examples/01_getpid/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/01_getpid/test.sh -------------------------------------------------------------------------------- /examples/02_libtiff/0001-snapshot.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/02_libtiff/0001-snapshot.patch -------------------------------------------------------------------------------- /examples/02_libtiff/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/02_libtiff/README.md -------------------------------------------------------------------------------- /examples/02_libtiff/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/02_libtiff/fuzzer.rs -------------------------------------------------------------------------------- /examples/02_libtiff/fuzzer.rs.ami: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/02_libtiff/fuzzer.rs.ami -------------------------------------------------------------------------------- /examples/02_libtiff/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/02_libtiff/main.rs -------------------------------------------------------------------------------- /examples/02_libtiff/make_example.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/02_libtiff/make_example.sh -------------------------------------------------------------------------------- /examples/02_libtiff/reset.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/02_libtiff/reset.sh -------------------------------------------------------------------------------- /examples/02_libtiff/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/02_libtiff/test.sh -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/0001-snapshot.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/0001-snapshot.patch -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/README.md -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/dovi-p7.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/dovi-p7.mp4 -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/fuzzer.rs -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/fuzzer.rs.ami: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/fuzzer.rs.ami -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/main.rs -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/make_example.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/make_example.sh -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/mov_generator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/mov_generator.rs -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/reset.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/reset.sh -------------------------------------------------------------------------------- /examples/03_ffmpeg_custom_mutator/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/03_ffmpeg_custom_mutator/test.sh -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/README.md -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/fuzzer.rs -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/fuzzer.rs.ami: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/fuzzer.rs.ami -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/main.rs -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/make_example.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/make_example.sh -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/reset.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/reset.sh -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/syscall_harness/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/syscall_harness/Cargo.toml -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/syscall_harness/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/syscall_harness/src/main.rs -------------------------------------------------------------------------------- /examples/04_syscall_fuzzer/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/04_syscall_fuzzer/test.sh -------------------------------------------------------------------------------- /examples/05_redqueen/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/README.md -------------------------------------------------------------------------------- /examples/05_redqueen/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/build.rs -------------------------------------------------------------------------------- /examples/05_redqueen/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/fuzzer.rs -------------------------------------------------------------------------------- /examples/05_redqueen/fuzzer.rs.ami: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/fuzzer.rs.ami -------------------------------------------------------------------------------- /examples/05_redqueen/harness/redqueen_ami: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/harness/redqueen_ami -------------------------------------------------------------------------------- /examples/05_redqueen/harness/redqueen_ami.cmps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/harness/redqueen_ami.cmps -------------------------------------------------------------------------------- /examples/05_redqueen/harness/redqueen_ami.covbps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/harness/redqueen_ami.covbps -------------------------------------------------------------------------------- /examples/05_redqueen/harness/redqueen_ami.coverage_analysis: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/harness/redqueen_ami.coverage_analysis -------------------------------------------------------------------------------- /examples/05_redqueen/harness/test_redqueen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/harness/test_redqueen.c -------------------------------------------------------------------------------- /examples/05_redqueen/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/main.rs -------------------------------------------------------------------------------- /examples/05_redqueen/make_example.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/make_example.sh -------------------------------------------------------------------------------- /examples/05_redqueen/reset.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/05_redqueen/reset.sh -------------------------------------------------------------------------------- /examples/init_ami.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/init_ami.sh -------------------------------------------------------------------------------- /examples/install_ghidra.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/install_ghidra.sh -------------------------------------------------------------------------------- /examples/install_prereqs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/install_prereqs.sh -------------------------------------------------------------------------------- /examples/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/examples/test.sh -------------------------------------------------------------------------------- /fuzzer_template/.build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/.build.rs -------------------------------------------------------------------------------- /fuzzer_template/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/Cargo.toml -------------------------------------------------------------------------------- /fuzzer_template/coverage_scripts/.ghidra_worker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/coverage_scripts/.ghidra_worker.py -------------------------------------------------------------------------------- /fuzzer_template/coverage_scripts/bn_snapchange.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/coverage_scripts/bn_snapchange.py -------------------------------------------------------------------------------- /fuzzer_template/coverage_scripts/ghidra_basic_blocks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/coverage_scripts/ghidra_basic_blocks.py -------------------------------------------------------------------------------- /fuzzer_template/create_snapshot.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/create_snapshot.sh -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/0001-Snapchange-patches.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/0001-Snapchange-patches.patch -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/DESIGN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/DESIGN.md -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/IMAGE/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/IMAGE/build.sh -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/IMAGE/create-image.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/IMAGE/create-image.sh -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/README.md -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/combine_symbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/combine_symbols.py -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/gdbcmds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/gdbcmds -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/gdbsnapshot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/gdbsnapshot.py -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/init.sh -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/snapshot.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/snapshot.sh -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/utils/connect.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ssh -i ./IMAGE/bookworm.id_rsa -p 10021 -o "StrictHostKeyChecking no" root@localhost 3 | -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/utils/extract.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/utils/extract.sh -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/utils/kill.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | kill -9 `cat vm.pid` 3 | -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/utils/reset_snapshot.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/utils/reset_snapshot.sh -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/utils/scp.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/utils/scp.sh -------------------------------------------------------------------------------- /fuzzer_template/qemu_snapshot/utils/start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/qemu_snapshot/utils/start.sh -------------------------------------------------------------------------------- /fuzzer_template/src/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/src/fuzzer.rs -------------------------------------------------------------------------------- /fuzzer_template/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/fuzzer_template/src/main.rs -------------------------------------------------------------------------------- /qemu_snapshot/0001-Snapchange-patches.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/0001-Snapchange-patches.patch -------------------------------------------------------------------------------- /qemu_snapshot/DESIGN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/DESIGN.md -------------------------------------------------------------------------------- /qemu_snapshot/IMAGE/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/IMAGE/build.sh -------------------------------------------------------------------------------- /qemu_snapshot/IMAGE/create-image.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/IMAGE/create-image.sh -------------------------------------------------------------------------------- /qemu_snapshot/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/README.md -------------------------------------------------------------------------------- /qemu_snapshot/combine_symbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/combine_symbols.py -------------------------------------------------------------------------------- /qemu_snapshot/gdbcmds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/gdbcmds -------------------------------------------------------------------------------- /qemu_snapshot/gdbsnapshot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/gdbsnapshot.py -------------------------------------------------------------------------------- /qemu_snapshot/init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/init.sh -------------------------------------------------------------------------------- /qemu_snapshot/snapshot.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/snapshot.sh -------------------------------------------------------------------------------- /qemu_snapshot/utils/connect.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ssh -i ./IMAGE/bookworm.id_rsa -p 10021 -o "StrictHostKeyChecking no" root@localhost 3 | -------------------------------------------------------------------------------- /qemu_snapshot/utils/extract.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/utils/extract.sh -------------------------------------------------------------------------------- /qemu_snapshot/utils/kill.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | kill -9 `cat vm.pid` 3 | -------------------------------------------------------------------------------- /qemu_snapshot/utils/reset_snapshot.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/utils/reset_snapshot.sh -------------------------------------------------------------------------------- /qemu_snapshot/utils/scp.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/utils/scp.sh -------------------------------------------------------------------------------- /qemu_snapshot/utils/start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/qemu_snapshot/utils/start.sh -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/_docs/architecture.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/architecture.rs -------------------------------------------------------------------------------- /src/_docs/cookbook.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/cookbook.rs -------------------------------------------------------------------------------- /src/_docs/examples/example1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/examples/example1.rs -------------------------------------------------------------------------------- /src/_docs/examples/example2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/examples/example2.rs -------------------------------------------------------------------------------- /src/_docs/examples/example3.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/examples/example3.rs -------------------------------------------------------------------------------- /src/_docs/examples/example4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/examples/example4.rs -------------------------------------------------------------------------------- /src/_docs/examples/example5.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/examples/example5.rs -------------------------------------------------------------------------------- /src/_docs/examples/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/examples/mod.rs -------------------------------------------------------------------------------- /src/_docs/fuzzer_lifecycle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/fuzzer_lifecycle.rs -------------------------------------------------------------------------------- /src/_docs/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/_docs/mod.rs -------------------------------------------------------------------------------- /src/_docs/qemu_snapshot.rs: -------------------------------------------------------------------------------- 1 | #![doc = include_str!("../../fuzzer_template/qemu_snapshot/README.md")] 2 | -------------------------------------------------------------------------------- /src/addrs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/addrs.rs -------------------------------------------------------------------------------- /src/apic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/apic.rs -------------------------------------------------------------------------------- /src/cmdline.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/cmdline.rs -------------------------------------------------------------------------------- /src/cmp_analysis.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/cmp_analysis.rs -------------------------------------------------------------------------------- /src/colors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/colors.rs -------------------------------------------------------------------------------- /src/commands/coverage.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/commands/coverage.rs -------------------------------------------------------------------------------- /src/commands/find_input.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/commands/find_input.rs -------------------------------------------------------------------------------- /src/commands/fuzz.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/commands/fuzz.rs -------------------------------------------------------------------------------- /src/commands/minimize.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/commands/minimize.rs -------------------------------------------------------------------------------- /src/commands/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/commands/mod.rs -------------------------------------------------------------------------------- /src/commands/project.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/commands/project.rs -------------------------------------------------------------------------------- /src/commands/redqueen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/commands/redqueen.rs -------------------------------------------------------------------------------- /src/commands/trace.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/commands/trace.rs -------------------------------------------------------------------------------- /src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/config.rs -------------------------------------------------------------------------------- /src/coverage_analysis.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/coverage_analysis.rs -------------------------------------------------------------------------------- /src/exception.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/exception.rs -------------------------------------------------------------------------------- /src/expensive_mutators.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/expensive_mutators.rs -------------------------------------------------------------------------------- /src/filesystem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/filesystem.rs -------------------------------------------------------------------------------- /src/fuzz_input.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/fuzz_input.rs -------------------------------------------------------------------------------- /src/fuzzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/fuzzer.rs -------------------------------------------------------------------------------- /src/fuzzer/template.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/fuzzer/template.rs -------------------------------------------------------------------------------- /src/fuzzvm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/fuzzvm.rs -------------------------------------------------------------------------------- /src/interrupts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/interrupts.rs -------------------------------------------------------------------------------- /src/kvm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/kvm.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/linux.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/linux.rs -------------------------------------------------------------------------------- /src/memory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/memory.rs -------------------------------------------------------------------------------- /src/msr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/msr.rs -------------------------------------------------------------------------------- /src/mutators.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/mutators.rs -------------------------------------------------------------------------------- /src/page_table.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/page_table.rs -------------------------------------------------------------------------------- /src/regs.rs: -------------------------------------------------------------------------------- 1 | //! Register state for a variety of architectures 2 | 3 | pub mod x86; 4 | -------------------------------------------------------------------------------- /src/regs/x86.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/regs/x86.rs -------------------------------------------------------------------------------- /src/rng.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/rng.rs -------------------------------------------------------------------------------- /src/segment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/segment.rs -------------------------------------------------------------------------------- /src/stack_unwinder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/stack_unwinder.rs -------------------------------------------------------------------------------- /src/stats.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/stats.rs -------------------------------------------------------------------------------- /src/stats_tui.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/stats_tui.rs -------------------------------------------------------------------------------- /src/symbols.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/symbols.rs -------------------------------------------------------------------------------- /src/timer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/timer.rs -------------------------------------------------------------------------------- /src/try_macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/try_macros.rs -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/utils.rs -------------------------------------------------------------------------------- /src/vbcpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/vbcpu.rs -------------------------------------------------------------------------------- /src/x86/control_regs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/src/x86/control_regs.rs -------------------------------------------------------------------------------- /src/x86/mod.rs: -------------------------------------------------------------------------------- 1 | pub use control_regs; 2 | -------------------------------------------------------------------------------- /utils/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/utils/README.md -------------------------------------------------------------------------------- /utils/aflpp_dict2file_to_dir.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/utils/aflpp_dict2file_to_dir.py -------------------------------------------------------------------------------- /utils/vmlinux_to_symbols.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/snapchange/HEAD/utils/vmlinux_to_symbols.py --------------------------------------------------------------------------------