中国Linux论坛首页 技术论坛| 文章荟萃| 藏经阁| 项目计划| 在线调查| 网站镜像| 软件仓库| 关于本站|

Linux 高级应用
   >> 系统和网络安全
此话题阅读次数: 24810

打印
teawater
(Pooh-Bah)
03-12-11 17:07
[精华] 这个太小儿科了 来个稍微有用点的 :) [re: teawater] 

理论上我觉得用下面这个方法可以替换KERNEL中任何函数 欢迎大家一起讨论
#define MODULE
#define __KERNEL__
#define LINUX
#define EXPORT_SYMTAB
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/version.h>
#ifndef KERNEL_VERSION
#define KERNEL_VERSION(a,b,c) ((a)*65536+(b)*256+(c))
#endif
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/mm.h>
#include <linux/smp_lock.h>
#include <asm/uaccess.h>

int
my_register_chrdev(unsigned int major, const char * name, struct file_operations *fops)
{
printk("Hi!\n");
return(-1);
}

u_char tmp[5];

int
init_module(void)
{
u_char *buf;
long p;

buf=(u_char *)register_chrdev;
p=(long)my_register_chrdev-((long)register_chrdev+(long)5);
memcpy(tmp,buf,5);
buf[0]=0xe9;
memcpy(buf+1,&p,4);

return 0;
}

void
cleanup_module(void)
{
u_char *buf;

buf=(u_char *)register_chrdev;
memcpy(buf,tmp,5);
}

EXPORT_SYMBOL(my_register_chrdev);

MODULE_LICENSE("GPL");


梦想离欲望远一点 快乐靠自己近一些

文章选项: 打印


整个主题
文章标题张贴者:张贴日期
*[精华] say bye 2 ur printk :) teawater   03-12-09 17:54
.*[精华] 这个太小儿科了 来个稍微有用点的 :) teawater   03-12-11 17:07
.*[精华] Re: 这个太小儿科了 来个稍微有用点的 :) madsys版主   03-12-11 20:34
.*[精华] Re: 这个太小儿科了 来个稍微有用点的 :) teawater   03-12-12 09:19
.*[精华] Re: 这个太小儿科了 来个稍微有用点的 :) madsys版主   03-12-12 14:47
.*[精华] Re: 这个太小儿科了 来个稍微有用点的 :) teawater   03-12-12 15:20
.*[精华] Re: 这个太小儿科了 来个稍微有用点的 :) grip2   03-12-13 18:04
.*[精华] Re: 这个太小儿科了 来个稍微有用点的 :) grip2   03-12-13 15:24
.*[精华] Re: 这个太小儿科了 来个稍微有用点的 :) teawater   03-12-14 15:13
.*[精华] Re: say bye 2 ur printk :) madsys版主   03-12-10 11:23
.*[精华] Re: say bye 2 ur printk :) grip2   03-12-10 14:05
.*[精华] Re: say bye 2 ur printk :) madsys版主   03-12-10 17:02
.*[精华] Re: say bye 2 ur printk :) grip2   03-12-10 10:35
.*[精华] Re: say bye 2 ur printk :) teawater   03-12-10 10:37
.*[精华] Re: say bye 2 ur printk :) grip2   03-12-10 10:48
前往讨论区

Contact Us LINUXFORUM.NET