首页 实地培训 VIP专区 文章中心 下载中心 精品动画 安全服务 安全产品 企业文化
技术论坛
 -->开创网络首先基于以学员为中心的人性化教学方式。以案例式教学、互动式教学为主线。
 
  当前位置: 首页 > 文章中心 > EXP代码 >
 
 
高版本内核写rootkit将会更加方便
发布者ID:3 作者: 发布时间:2008-08-05 08:04:47 来源: 点击:
 

高版本内核中使用jprobe提供得强大钩子接口,可以方便的hook任何内核函数。写lkm rootkit将越来越方便了。

C#代码
  1. #include <linux/kernel.h>  
  2. #include <linux/module.h>  
  3. #include <linux/kprobes.h>  
  4. #include <linux/kallsyms.h>  
  5. #include <linux/fs.h>  
  6. #include <linux/ip.h>  
  7. #include <linux/tcp.h>  
  8. #include <asm/uaccess.h>   
  9.   
  10. static struct jprobe jp;   
  11.   
  12. asmlinkage long new_sys_connect(int fd, struct sockaddr __user *uservaddr, int addrlen)   
  13. {   
  14.         printk("socket fd: %d\n", fd);   
  15.   
  16.         jprobe_return();   
  17.         return 0;   
  18. }   
  19.   
  20. int init_module(void)   
  21. {   
  22.         int ret;   
  23.   
  24.         jp.entry = (kprobe_opcode_t *) new_sys_connect;   
  25.         jp.kp.addr = (kprobe_opcode_t *)0xc05a39ab;   
  26.         if (!jp.kp.addr) {   
  27.                 printk("Couldn't find the address of sys_open\n");   
  28.                 return -1;   
  29.         }   
  30.   
  31.         if ((ret = register_jprobe(&jp)) <0) {   
  32.                 printk("register_jprobe failed, returned %d\n", ret);   
  33.                 return -1;   
  34.         }   
  35.         printk("Registered a jprobe.\n");   
  36.         return 0;   
  37. }   
  38.   
  39. void cleanup_module(void)   
  40. {   
  41.         unregister_jprobe(&jp);   
  42.         printk("jprobe unregistered\n");   
  43. }   
  44.   
  45. MODULE_LICENSE("GPL");   


 
 
 
 
   
 
   
     
  • 课程体系
  • 课堂实景
  • 培训课程
  • 学费介绍
  • 巧用mstsc命令登录到console的方法
  • 课程介绍
  • 团队介绍
  • Linkideo免费Vpn
  • 就业前景
  • 汇款方式
  •  
     
     
    无标题文档
    一流开创网一流开创网一流开创网一流开创网一流开创网一流开创网一流开创网
      关于我们 | 联系方法 | 招聘信息 | 加入会员 | 诚征代理 | 广告服务 | 欢迎投稿 | 友情链接  
      版权所有:吉林省开创科技信息有限公司  
      服务热线:0431-84714442
    Copyright 2001 - 2007 All Rights Reserved