diff options
author | Jonathan Wilson <gogs@fake.local> | 2021-07-27 09:18:53 +0100 |
---|---|---|
committer | Jonathan Wilson <gogs@fake.local> | 2021-07-27 09:18:53 +0100 |
commit | 58636fd54e869f1b4c256529721a194ca6ce4e6d (patch) | |
tree | 82c5941cfde10552d72a9c4cb376d724fd98071a /frida_mode/test/osx-lib/harness.c | |
parent | d02483e40d9ba0529c978dc4cfbcfc1429f8eeba (diff) | |
download | afl++-58636fd54e869f1b4c256529721a194ca6ce4e6d.tar.gz |
Update readme, minor tweaks
Diffstat (limited to 'frida_mode/test/osx-lib/harness.c')
-rw-r--r-- | frida_mode/test/osx-lib/harness.c | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/frida_mode/test/osx-lib/harness.c b/frida_mode/test/osx-lib/harness.c index 4ffddbf6..3d427b4a 100644 --- a/frida_mode/test/osx-lib/harness.c +++ b/frida_mode/test/osx-lib/harness.c @@ -17,8 +17,9 @@ int LLVMFuzzerTestOneInput(const unsigned char* data, size_t size){ return 0; } -void run (int argc, const char * argv[]) +int main(int argc, const char * argv[]) { + for (int i = 1; i < argc; i++) { fprintf(stderr, "Running: %s\n", argv[i]); FILE *f = fopen(argv[i], "r"); @@ -34,20 +35,22 @@ void run (int argc, const char * argv[]) free(buf); fprintf(stderr, "Done: %s: (%zd bytes)\n", argv[i], n_read); } + + return 0; } -static int load() -{ +__attribute__((constructor())) +void constructor(void) { // handles to required libs void *dylib = NULL; - dylib = dlopen("./libcrashme.dylib", RTLD_LAZY); + dylib = dlopen("./libcrashme.dylib", RTLD_NOW); if (dylib == NULL) { printf("[-] Failed to load lib\n"); printf("[-] Dlerror: %s\n", dlerror()); - return 1; + exit(1); } @@ -58,20 +61,9 @@ static int load() { printf("[-] Failed to find function\n"); - return 1; + exit(1); } printf("[+] Found function.\n"); - return 0; -} - -int main(int argc, const char * argv[]) -{ - - if (load() != 0) { return 1; } - - run(argc, argv); - - return 0; } |