Так как никто не помогает.Я хотел бы отметить тот факт, что ставить под сомнение намерение или цель неуважительно.Мы хотим факты, а не мнения или спекуляции.Это, кажется, привычка здесь.В моем случае я хочу поймать SIGSERV, потому что я хочу обнаружить уязвимость в общей библиотеке.По соображениям безопасности не существует другого надежного способа обнаружить указанную уязвимость без нежелательных ложных срабатываний.Вот что я нашел пару дней назад:
> #include <stdio.h>
> #include <stdlib.h>
> #include <dlfcn.h>
>
>
> int main(int argc, char **argv) {
> void *handle;
> void* (*doSomething)(char);
> char *error;
> handle = dlopen ("libexample.so", RTLD_LAZY);
> if (!handle) {
> fprintf (stderr, "%s\n", dlerror());
> exit(1);
> }
> dlerror(); /* Clear any existing error */
> foo = dlsym(handle, "doSomething");
> if ((error = dlerror()) != NULL) {
> fprintf (stderr, "%s\n", error);
> exit(1);
> }
> printf ("%f\n", (*setDataSource)("/data/data/com.example.ap/files/cve_2015_2396.mp4"));
> dlclose(handle);
> return 0;