奥运倒计时: 设为首页 加入收藏
点击进入太平洋安全网首页
论坛登陆 用户名: 密码:
首页 新闻资讯 文章中心 黑客资源 黑客点睛 安全防护 软件下载 动画教程 商城中心 技术问答 论坛社区
文章 下载 图片
文章   | 电脑知识 | 网络知识 | 菜鸟入门 | 入侵教程 | 黑客攻防 | 黑客编程 | 原创精华 | 黑客人物 | 黑客技术 | 提权技术 | 跨站技术 | 渗透技术 | 鸽子专题 |
 您现在的位置: 太平洋安全网 >> 文章 >> 电脑知识 >> 正文

在linux操作系统中如何截获系统调用

作者:佚名    文章来源:网络转载    点击数:    更新时间:2008-5-14
使用LinuxKernelModule的一般目的就是扩展系统的功能,或者给某些特殊的设备提供驱动等等。其实利用Linux内核模块我们还可以做一些比较“黑客”的事情,例如用来拦截系统调用,然后自己处理。嘿嘿,有意思的说。

  下面给出一个简单的例子,说明了其基本的工作过程。  

  以下为引用的内容:

  #defineMODULE

  #define__KERNEL__

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  externvoid*sys_call_table[];/*sys_call_tableisexported,sowecanaccessIT*/

  int(*orig_mkdir)(constchar*path);/*theoriginalsystemcall*/

  inthacked_mkdir(constchar*path)

  {

  return0;/*everythingisok,buthenewsystemcall

  doesnothing*/

  }

  intinIT_module(void)/*modulesetup*/

  {

  orig_mkdir=sys_call_table[SYS_mkdir];

  sys_call_table[SYS_mkdir]=hacked_mkdir;

  return0;

  }

  voidcleanup_module(void)/*moduleshutdown*/

  {

  sys_call_table[SYS_mkdir]=orig_mkdir;/*setmkdirsyscalltotheorigal

  one*/

  }  

  大家看到前面的代码了,非常简单,我们就是替换了内核的系统调用数组中我们关心的指针的值,系统调用在内核中实际就是一个数组列表指针对应的函数列表。我们通过替换我们想“黑”的函数的指针,就可以达到我们特定的目的。这个例子中我们替换了“mkdir”这个函数。这样,用户的应用程序如果调用mkdir后,当内核响应的时候,实际上是调用我们“黑”了的函数,而我们实现的函数里面是什么都没有干,所以这里会导致用户运行“mkdir”得不到结果。这个例子很简单,但是我们可以看出,如果我们想截获一个系统调用,那么我们只需要做以下的事情:

  1、查找出感兴趣的系统调用在系统内核数组中的入口位置。可以参看include/sys/syscall.h文件。

  2、将内核中原来的调用函数对应的指针sys_call_table[X]保留下来

文章录入:随风追忆    责任编辑:随风追忆 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     推荐文章
    固顶文章暴风影音万能播放器中对于单个文件片断循环
    固顶文章编辑、保存和管理电脑进程知识库(图)
    固顶文章用任务管理器轻松搞定无法删除的文件
    推荐文章如何给共享文件夹加密
    推荐文章病毒破坏导致不能切换输入法的解决办法
    推荐文章Windows技巧 系统虚拟内存知多少
    推荐文章瑞星公司11月10日发布 每日计算机病毒及木马
    推荐文章Windows2003 64位Web服务器安装配置注意事项
     热门文章
    固顶文章暴风影音万能播放器中对于单个文件片断循环
    固顶文章用任务管理器轻松搞定无法删除的文件
    推荐文章如何给共享文件夹加密
    推荐文章瑞星公司11月10日发布 每日计算机病毒及木马
    推荐文章不看不知道 Vista回收站暗藏的秘密
    推荐文章如何使用Windows 2003部署软件
    推荐文章认识windows XP系统中的几个特殊文件
    推荐文章独立服务器win2003系统站点常见问题解答
     本站推荐

    关于我们 | 联系方法 | 招聘信息 | 加入会员 | 诚征代理 | 广告服务 | 欢迎投稿 | 站长信箱 | 友情链接 | 网站地图
    24小时客服:0374-7126138 技术支持:0374-7126138 投诉电话:0374-7967536
    客服QQ:883039 售后QQ:827520 技术QQ:78305152 投稿-商业:576880739
    Copyright 太平洋科技 2003-2007 版权所有 All Rights Reserved
      许可证号:豫ICP备07005385号