about summary refs log tree commit diff
path: root/frida_mode/test/osx-lib/harness.c
diff options
context:
space:
mode:
authorJonathan Wilson <gogs@fake.local>2021-07-27 09:18:53 +0100
committerJonathan Wilson <gogs@fake.local>2021-07-27 09:18:53 +0100
commit58636fd54e869f1b4c256529721a194ca6ce4e6d (patch)
tree82c5941cfde10552d72a9c4cb376d724fd98071a /frida_mode/test/osx-lib/harness.c
parentd02483e40d9ba0529c978dc4cfbcfc1429f8eeba (diff)
downloadafl++-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.c26
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;
 }