diff options
| author | WorksButNotTested <62701594+WorksButNotTested@users.noreply.github.com> | 2021-06-25 22:14:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-25 23:14:27 +0200 |
| commit | 6a3877dcd35d31eb79bebbc30ffe70ac0342743e (patch) | |
| tree | f3ddccc0e1315a728fe5b12fdf10990f48f05298 /frida_mode/test/js/testinstr.c | |
| parent | c88b98d1c91b37c1941483980161bd46cb03c4d5 (diff) | |
| download | afl++-6a3877dcd35d31eb79bebbc30ffe70ac0342743e.tar.gz | |
Improved FRIDA mode scripting support (#994)
Co-authored-by: Your Name <you@example.com>
Diffstat (limited to 'frida_mode/test/js/testinstr.c')
| -rw-r--r-- | frida_mode/test/js/testinstr.c | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/frida_mode/test/js/testinstr.c b/frida_mode/test/js/testinstr.c deleted file mode 100644 index bd605c52..00000000 --- a/frida_mode/test/js/testinstr.c +++ /dev/null @@ -1,121 +0,0 @@ -/* - american fuzzy lop++ - a trivial program to test the build - -------------------------------------------------------- - Originally written by Michal Zalewski - Copyright 2014 Google Inc. All rights reserved. - Copyright 2019-2020 AFLplusplus Project. All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at: - http://www.apache.org/licenses/LICENSE-2.0 - */ - -#include <fcntl.h> -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#ifdef __APPLE__ - #define TESTINSTR_SECTION -#else - #define TESTINSTR_SECTION __attribute__((section(".testinstr"))) -#endif - -void testinstr(char *buf, int len) { - - if (len < 1) return; - buf[len] = 0; - - // we support three input cases - if (buf[0] == '0') - printf("Looks like a zero to me!\n"); - else if (buf[0] == '1') - printf("Pretty sure that is a one!\n"); - else - printf("Neither one or zero? How quaint!\n"); - -} - -int run(char *file) { - - int fd = -1; - off_t len; - char * buf = NULL; - size_t n_read; - int result = -1; - - do { - - dprintf(STDERR_FILENO, "Running: %s\n", file); - - fd = open(file, O_RDONLY); - if (fd < 0) { - - perror("open"); - break; - - } - - len = lseek(fd, 0, SEEK_END); - if (len < 0) { - - perror("lseek (SEEK_END)"); - break; - - } - - if (lseek(fd, 0, SEEK_SET) != 0) { - - perror("lseek (SEEK_SET)"); - break; - - } - - buf = malloc(len); - if (buf == NULL) { - - perror("malloc"); - break; - - } - - n_read = read(fd, buf, len); - if (n_read != len) { - - perror("read"); - break; - - } - - dprintf(STDERR_FILENO, "Running: %s: (%zd bytes)\n", file, n_read); - - testinstr(buf, len); - dprintf(STDERR_FILENO, "Done: %s: (%zd bytes)\n", file, n_read); - - result = 0; - - } while (false); - - if (buf != NULL) { free(buf); } - - if (fd != -1) { close(fd); } - - return result; - -} - -void slow() { - - usleep(100000); - -} - -int main(int argc, char **argv) { - - if (argc != 2) { return 1; } - slow(); - return run(argv[1]); - -} - |
