about summary refs log tree commit diff
path: root/qbdi_mode/demo-so.c
diff options
context:
space:
mode:
Diffstat (limited to 'qbdi_mode/demo-so.c')
-rwxr-xr-xqbdi_mode/demo-so.c56
1 files changed, 31 insertions, 25 deletions
diff --git a/qbdi_mode/demo-so.c b/qbdi_mode/demo-so.c
index 5e74f268..dbb7b714 100755
--- a/qbdi_mode/demo-so.c
+++ b/qbdi_mode/demo-so.c
@@ -1,33 +1,39 @@
 #include <stdio.h>

 

 // gcc -shared -o libdemo.so demo-so.c -w

-int target_func(char *buf, int size)

-{

-    printf("buffer:%p, size:%p\n", buf, size);

-    switch (buf[0])

-    {

+int target_func(char *buf, int size) {

+
+  printf("buffer:%p, size:%p\n", buf, size);

+  switch (buf[0]) {

+
     case 1:

-        puts("222");

-        if (buf[1] == '\x44')

-        {

-            puts("null ptr deference");

-            *(char *)(0) = 1;

-        }

-        break;

+      puts("222");

+      if (buf[1] == '\x44') {

+
+        puts("null ptr deference");

+        *(char *)(0) = 1;

+
+      }

+

+      break;

     case 0xff:

-        if (buf[2] == '\xff')

-        {

-            if (buf[1] == '\x44')

-            {

-                puts("crash....");

-                *(char *)(0xdeadbeef) = 1;

-            }

+      if (buf[2] == '\xff') {

+
+        if (buf[1] == '\x44') {

+
+          puts("crash....");

+          *(char *)(0xdeadbeef) = 1;

+
         }

-        break;

-    default:

-        puts("default action");

-        break;

-    }

+
+      }

+

+      break;

+    default: puts("default action"); break;

+
+  }

 

-    return 1;

+  return 1;

+
 }

+