当前位置:  技术问答>linux和unix

截获系统调用编译出错,求助!!

    来源: 互联网  发布时间:2015-10-04

    本文导语:  Linux内核2.4.20-8    程序如下: #define MODULE #define __KERNEL__ #include "linux/module.h" #include "linux/kernel.h" #include "linux/proc_fs.h" #include "asm/unistd.h" MODULE_LICENSE("GPL"); unsigned long errno; static inline _syscall3(int,write,int,fd,const...

Linux内核2.4.20-8

   程序如下:
#define MODULE
#define __KERNEL__

#include "linux/module.h"
#include "linux/kernel.h"

#include "linux/proc_fs.h"
#include "asm/unistd.h"

MODULE_LICENSE("GPL");

unsigned long errno;

static inline _syscall3(int,write,int,fd,const char *,buf,off_t,count);
static inline _syscall3(int,read,int,fd,char*,buf,off_t,count);
static inline _syscall3(off_t,lseek,int,fd,off_t,offset,int,count);
static inline _syscall3(int,open,const char *,file,int,flag,int,mode);
static inline _syscall1(int,close,int,fd);

struct{
unsigned short limit;
unsigned int base;
}__attribute__((packed))idtr;
struct{
unsigned short off1;
unsigned short sel;
unsigned char none,flags;
unsigned short off2;
}__attribute__((packed))idt;
int kmem;
void readkmem(void *m,unsigned off,int sz)
{
unsigned long old_fs_value=get_fs();
set_fs(get_ds());
if(lseek(kmem,off,0)!=off){
printk("kmem lseek error in readn");return;
}
if(read(kmem,m,sz)!=sz){
printk("kmem read error!n");return;
}
set_fs(old_fs_value);
}

#define CALLOFF 100

unsigned getscTable()
{
unsigned sct;
unsigned sys_call_off;
char sc_asm[CALLOFF],*p;

asm("sidt%0":"=m"(idtr));
unsigned long old_fs_value=get_fs();
const char *filename="/dev/kmem";
set_fs(get_ds());

kmem=open(filename,O_RDONLY,0640);
if(kmem

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • IOS开发:UIScrollView类介绍及如何简单地截获touch事件
  • 截获:用户按CDROM 按钮事件
  • libpcap截获两个网卡上的数据包
  • 有没有什么办法截获某一端口出入的所有数据,如果有,用哪种方式比较好呢,如保证不丢包
  • unix/linux知识 iis7站长之家
  • Linux下如何截获键盘消息
  • 我想做一个截获并分析网络数据包的工具,linux windows使用哪个平台更方便
  • 怎样才能知道UNIX 下C语言的ERRNO都代表什么意思?到哪里去查,别外怎样在程序中截获这个errno我好做相应的处理。
  • 如何在servlet中截获session timeout
  • 在字符界面下用C如何截获ctrl+s按键
  • 怎样截获linux内核导出的函数?
  • 请问如何截获命令行的输出


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3