文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
网站首页 软件下载
数码学院 网络学院
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网站建设 | 技术开发 | 专栏
当前位置:abcdown网络学院操作系统 Linux在linux操作系统中如何截获系统调用
精品广告
推荐TOP10
·自己动手做一个迷你型Linux操作系统
·Linux服务器前台常出现的提示及含意
·对Linux服务器四种级别攻击的概述
·Linux操作系统中用PHP构建网站详解
·Linux操作系统下文件系统的比较和选择
·Linux操作系统笔记本电池使用技巧
·无线技术在Linux操作系统中的应用
·Linux操作系统下的离线浏览器介绍
·如何在Linux系统上进行快速磁带备份
·如何配置Linux操作系统安全管理服务
·绝对好用 Linux操作系统的8个经典技巧
·常用Linux与Windows共享建最简Samba
·在Linux中使用C#
·Linux系统中如何正确安装摄像头驱动
·linux下乱码问题的终极解决方法
·系统移民须知:Linux操作系统安装要点
·自己安装MagicLinux2.0正式版的心得
·Linux操作系统打包命令使用技巧
·入门:Linux 2.6 内核的嵌入式系统应用
·学习Linux的八点忠告
阅读TOP10
·Linux文件和目录访问权限设置
·Linux系统中如何正确安装摄像头驱动
·如何共享一个IP上网
·口袋里的Linux:在您的U盘上运行SLAX
·Linux最新版本抢鲜体验
·为何Linux比Windows更安全?
·Linux的高效的数据传输技术-Relay
·自己动手做一个迷你型Linux操作系统
·华丽不是苹果专利 Linux KDE4图赏
·经典:Linux安全配置步骤大全
·基于Linux操作系统的目录服务的实现
·LINUX动态链接库高级应用
·新手学堂:学习Linux编程的一套好方法
·在Linux系统下建立强大的FTP搜索引擎
·常用Linux与Windows共享建最简Samba
·详解Linux系统下常用的安全工具
·对Linux服务器四种级别攻击的概述
·Linux命令集
·Linux操作系统下的离线浏览器介绍
·让Linux用起来跟Windows无异

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

日期:2006年6月28日 作者: 查看:[大字体 中字体 小字体]


使用Linux Kernel Module的一般目的就是扩展系统的功能,或者给某些特殊的设备提供驱动等等。其实利用Linux内核模块我们还可以做一些比较“黑客”的事情,例如用来拦截系统调用,然后自己处理。嘿嘿,有意思的说。

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

#define MODULE
#define __KERNEL__
#include <linux/module.h>
#include <linux/kernel.h>
#include <asm/unistd.h>
#include <sys/syscall.h>
#include <linux/types.h>
#include <linux/dirent.h>
#include <linux/string.h>
#include <linux/fs.h>
#include <linux/malloc.h>
extern void* sys_call_table[]; /*sys_call_table is exported, so we can access it*/
int (*orig_mkdir)(const char *path); /*the original systemcall*/
int hacked_mkdir(const char *path)
{
return 0; /*everything is ok, but he new systemcall
does nothing*/
}
int init_module(void) /*module setup*/
{
orig_mkdir=sys_call_table[SYS_mkdir];
sys_call_table[SYS_mkdir]=hacked_mkdir;
return 0;
}
void cleanup_module(void) /*module shutdown*/
{
sys_call_table[SYS_mkdir]=orig_mkdir; /*set mkdir syscall to the origal
one*/
}

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

  1.查找出感兴趣的系统调用在系统内核数组中的入口位置。可以参看include/sys/ syscall.h文件。
  2.将内核中原来的调用函数对应的指针sys_call_table[X]保留下来。
  3.将我们新的伪造的系统函数指针给sys_call_table[X]。

(出处:ABC网络学院



上一篇:超级DIY 用注册表给应用程序加口令

下一篇:系统安装颠峰之作 一口气装好8个操作系统


在linux操作系统中如何截获系统调用 相关软件: 在linux操作系统中如何截获系统调用 相关文章:
·燎星门诊收费系统V5.55 综合版
·亿尚发型设计管理系统
·如何安装双系统
·方正飞腾集成排版系统V3.1
·中心药库管理系统 V6.85
·艾特人事工资管理系统V3.12
·工作流管理系统 V1.1
·系统 超精美主题 大全(苹果系列)
·矮人DOS工具箱 7月14日更新 作者发布『全中文Dos+全智能备份系统』5.3 7月14日更新
·投诉管理系统v3.0
·注册表解锁有奇招妙用系统策略编辑器
·Windows XP操作系统中如何节约内存
·侵入最大的六合彩论坛系统---六合专用BBS
·用组策略强化Windows系统的三大技巧
·高手都是这样清除系统垃圾的
·修改系统配置:让Win XP不再越用越慢
·自动实现Windows系统更新
·XP系统极速狂飙 屏蔽五项网络功能
·将系统装到U盘中 如何自制XP@USB启动盘
·亲自动手打造属于自己的U盘系统

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号