Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
// func.c// victor00000 (c) 2018#define _GNU_SOURCE#include <stdio.h>#include <stdlib.h>#include <stdlib.h>// ~$ gcc func.c -o func/* terminal example1:L~$ 1:L~$ ./funcPlease 'exit'.1:L~$ echo $PRINT0xXXXXXXX1:L~$ ./func $PRINT|===| ok |===|1:L~$ exitexitexit of bash.1:L~$ */void (*pp)(void) = 0;void p (){printf ("|===| ok |===|\n");}int main (int ia, char **ca){if (ia == 2){long int l;l = strtoll (ca[1],0,16);if (l < 1){fputs ("Error address null.\n",stderr);return 1;}pp = (void(*)(void)) l;pp ();return 0;}char *c = 0;asprintf (&c,"%p",p);setenv ("PRINT",c,0);free (c);puts ("Please 'exit'.");system ("bash");puts ("exit of bash.");return 0;}
1:L~$ 1:L~$ ./funcPlease 'exit'.1:L~$ echo $PRINT0x804855d1:L~$ ./func $PRINT|===| ok |===|1:L~$ exitexitexit of bash.1:L~$
Страница сгенерирована за 0.036 секунд. Запросов: 25.