diff options
| author | van Hauser <vh@thc.org> | 2021-11-03 21:55:21 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-03 21:55:21 +0100 |
| commit | f5535e348d37460daa4c6ea43063b451aa83d9cc (patch) | |
| tree | 2339a99aa53f604cbe77b0dc88882f29ec9a6bf6 /frida_mode/src/seccomp | |
| parent | 25c947cd5ae93cb865081f9259255b4fdb3ca3ba (diff) | |
| parent | 9278f27d749bcf0852ba2629caa319375c9a60e4 (diff) | |
| download | afl++-f5535e348d37460daa4c6ea43063b451aa83d9cc.tar.gz | |
Merge pull request #1142 from AFLplusplus/dev
Dev
Diffstat (limited to 'frida_mode/src/seccomp')
| -rw-r--r-- | frida_mode/src/seccomp/seccomp_callback.c | 20 | ||||
| -rw-r--r-- | frida_mode/src/seccomp/seccomp_filter.c | 2 |
2 files changed, 22 insertions, 0 deletions
diff --git a/frida_mode/src/seccomp/seccomp_callback.c b/frida_mode/src/seccomp/seccomp_callback.c index a88196ac..4232d842 100644 --- a/frida_mode/src/seccomp/seccomp_callback.c +++ b/frida_mode/src/seccomp/seccomp_callback.c @@ -1,6 +1,8 @@ #if defined(__linux__) && !defined(__ANDROID__) +#if !defined(__MUSL__) #include <execinfo.h> +#endif #include <fcntl.h> #include "seccomp.h" @@ -29,6 +31,7 @@ static void seccomp_callback_filter(struct seccomp_notif * req, req->data.args[0], req->data.args[1], req->data.args[2], req->data.args[3], req->data.args[4], req->data.args[5]); +#if !defined(__MUSL__) seccomp_print("FRAMES: (%u)\n", frames->len); char **syms = backtrace_symbols(frames->items, frames->len); if (syms == NULL) { FATAL("Failed to get symbols"); } @@ -49,6 +52,23 @@ static void seccomp_callback_filter(struct seccomp_notif * req, } free(syms); +#else + void **syms = (void **)__builtin_frame_address(0); + void *framep = __builtin_frame_address(1); + int i = 0; + + syms = framep; + while (syms) { + + framep = *syms; + syms = framep; + + if (!syms) break; + + seccomp_print("\%3d. %s\n", i ++, (char *)framep); + + } +#endif resp->error = 0; resp->val = 0; diff --git a/frida_mode/src/seccomp/seccomp_filter.c b/frida_mode/src/seccomp/seccomp_filter.c index 8d56c367..7ee5ead1 100644 --- a/frida_mode/src/seccomp/seccomp_filter.c +++ b/frida_mode/src/seccomp/seccomp_filter.c @@ -2,7 +2,9 @@ #include <alloca.h> #include <errno.h> +#if !defined(__MUSL__) #include <execinfo.h> +#endif #include <linux/filter.h> #include <sys/ioctl.h> #include <sys/prctl.h> |
