diff options
author | Rumata888 <isennovskiy@gmail.com> | 2020-11-12 01:13:57 +0300 |
---|---|---|
committer | Rumata888 <isennovskiy@gmail.com> | 2020-11-12 01:13:57 +0300 |
commit | 20a8a93fd193f7526f5e3d0cd1dfa43df9d2c4f6 (patch) | |
tree | 22a966878b62df1785880536b9f9724242055e42 /custom_mutators/symcc/test_examples | |
parent | 4c59c5234aec0469e4dd02561dbd84387bd53155 (diff) | |
download | afl++-20a8a93fd193f7526f5e3d0cd1dfa43df9d2c4f6.tar.gz |
Fixed symcc custom mutator
Diffstat (limited to 'custom_mutators/symcc/test_examples')
-rw-r--r-- | custom_mutators/symcc/test_examples/file_test.c | 27 | ||||
-rw-r--r-- | custom_mutators/symcc/test_examples/stdin_test.c | 22 |
2 files changed, 49 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..25271788 --- /dev/null +++ b/custom_mutators/symcc/test_examples/file_test.c @@ -0,0 +1,27 @@ +#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..be87419b --- /dev/null +++ b/custom_mutators/symcc/test_examples/stdin_test.c @@ -0,0 +1,22 @@ +#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; +} |