diff options
| author | van Hauser <vh@thc.org> | 2020-11-18 21:25:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-18 21:25:35 +0100 |
| commit | 4d9eb9bda147a26fc8cbe885b6193cf0c94c6314 (patch) | |
| tree | c7a903633c7d1b0b5e373535188fd3a458a7f329 /custom_mutators/symcc/test_examples | |
| parent | 4c59c5234aec0469e4dd02561dbd84387bd53155 (diff) | |
| parent | cd0a25be5e9b05a2ab6a11592cd95e7f653bf42d (diff) | |
| download | afl++-4d9eb9bda147a26fc8cbe885b6193cf0c94c6314.tar.gz | |
Merge pull request #607 from AFLplusplus/dev
push to stable
Diffstat (limited to 'custom_mutators/symcc/test_examples')
| -rw-r--r-- | custom_mutators/symcc/test_examples/file_test.c | 36 | ||||
| -rw-r--r-- | custom_mutators/symcc/test_examples/stdin_test.c | 28 |
2 files changed, 64 insertions, 0 deletions
diff --git a/custom_mutators/symcc/test_examples/file_test.c b/custom_mutators/symcc/test_examples/file_test.c new file mode 100644 index 00000000..f2b92986 --- /dev/null +++ b/custom_mutators/symcc/test_examples/file_test.c @@ -0,0 +1,36 @@ +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <unistd.h> +#include <fcntl.h> + +int main(int argc, char **argv) { + + if (argc < 2) { + + printf("Need a file argument\n"); + return 1; + + } + + int fd = open(argv[1], O_RDONLY); + if (fd < 0) { + + printf("Couldn't open file\n"); + return 1; + + } + + uint32_t value = 0; + + read(fd, &value, sizeof(value)); + close(fd); + + value = value ^ 0xffffffff; + if (value == 0x11223344) printf("Value one\n"); + if (value == 0x44332211) printf("Value two\n"); + if (value != 0x0) printf("Not zero\n"); + return 0; + +} + diff --git a/custom_mutators/symcc/test_examples/stdin_test.c b/custom_mutators/symcc/test_examples/stdin_test.c new file mode 100644 index 00000000..3acfc523 --- /dev/null +++ b/custom_mutators/symcc/test_examples/stdin_test.c @@ -0,0 +1,28 @@ +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <unistd.h> + +int main(int argc, char **argv) { + + char input_buffer[16]; + uint32_t comparisonValue; + size_t bytesRead; + bytesRead = read(STDIN_FILENO, input_buffer, sizeof(input_buffer)); + if (bytesRead < 0) exit(-1); + comparisonValue = *(uint32_t *)input_buffer; + comparisonValue = comparisonValue ^ 0xff112233; + if (comparisonValue == 0x66554493) { + + printf("First value\n"); + + } else { + + if (comparisonValue == 0x84444415) printf("Second value\n"); + + } + + return 0; + +} + |
