Ê×Ò³ | Óʼþ×ÊѶ | ¼¼Êõ½Ì³Ì | ½â¾ö·½°¸ | ²úÆ·ÆÀ²â | ÓʼþÈ˲Š| Óʼþ²©¿Í | ÓʼþϵͳÂÛ̳ | Èí¼þÏÂÔØ | ÓʼþÖÜ¿¯ | ÈȵãרÌâ | ¹¤¾ß
ÍøÂç¼¼Êõ | ²Ù×÷ϵͳ | Óʼþϵͳ | ¿Í»§¶Ë | µç×ÓÓÊÏä | ·´À¬»øÓʼþ | Óʼþ°²È« | ÓʼþÓªÏú | ÒÆ¶¯µçÓÊ | ÓʼþÈí¼þÏÂÔØ | µç×ÓÊéÏÂÔØ

²Ù×÷ϵͳ

Vista | Windows 9X | Windows Server | Linux&Uinx | FreeBSD | ÆäËü²Ù×÷ϵͳ |
Ê×Ò³ > ²Ù×÷ϵͳ > Linux&Uinx > Linuxϵͳ¿ÉÐ¶ÔØÄÚºËÄ£¿éÍêȫָÄÏ(1) > ÕýÎÄ

Linuxϵͳ¿ÉÐ¶ÔØÄÚºËÄ£¿éÍêȫָÄÏ(1)

³ö´¦£ºÀ¶É­ÁÖ ×÷ÕߣºÁÖÄÉ Ê±¼ä£º2006-5-30 14:12:00

µÚÒ»²¿·Ö. »ù´¡ÖªÊ¶

¡¡¡¡1.1 ʲôÊÇLKMs

¡¡¡¡LKMs¾ÍÊÇ¿ÉÐ¶ÔØµÄÄÚºËÄ£¿é(Loadable Kernel

¡¡¡¡Modules)¡£ÕâЩģ¿é±¾À´ÊÇLinuxϵͳÓÃÓÚÀ©Õ¹ËûµÄ¹¦Äܵġ£Ê¹ÓÃLKMsµÄÓŵãÓÐ:ËûÃÇ¿ÉÒÔ±»¶¯Ì¬µÄ¼ÓÔØ,¶øÇÒ²»ÐèÒªÖØÐ±àÒëÄںˡ£ÓÉÓÚÕâЩÓŵã,ËûÃdz£³£±»ÌØÊâµÄÉ豸(»òÕßÎļþϵͳ),ÀýÈçÉù¿¨µÈʹÓá£

¡¡¡¡Ã¿¸öLKMÖÁÉÙÓÉÁ½¸ö»ù±¾µÄº¯Êý×é³É:

¡¡¡¡int init_module(void) /*ÓÃÓÚ³õʼ»¯ËùÓеÄÊý¾Ý*/
¡¡¡¡{
¡¡¡¡...
¡¡¡¡}
¡¡¡¡void cleanup_module(void) /*ÓÃÓÚÇå³ýÊý¾Ý´Ó¶øÄÜÓÐÒ»¸ö°²È«µÄÍ˳ö*/
¡¡¡¡{
¡¡¡¡...
¡¡¡¡}

¡¡¡¡¼ÓÔØÒ»¸öÄ£¿é(³£³£Ö»ÏÞÓÚrootÄܹ»Ê¹ÓÃ)µÄÃüÁîÊÇ:

¡¡¡¡# insmod module.o

¡¡¡¡Õâ¸öÃüÁîÈÃϵͳ½øÐÐÁËÈçϹ¤×÷:

¡¡¡¡¼ÓÔØ¿ÉÖ´ÐеÄÄ¿±êÎļþ(ÔÚÕâ¶ùÊÇmodule.o)

¡¡¡¡µ÷Óà create_moduleÕâ¸öϵͳµ÷ÓÃ(ÖÁÓÚʲô½Ðϵͳµ÷ÓÃ,¼û1.2)À´·ÖÅäÄÚ´æ.

¡¡¡¡²»Äܽâ¾öµÄÒýÓÃÓÉϵͳµ÷ÓÃget_kernel_syms½øÐвéÕÒÒýÓÃ.

¡¡¡¡ÔÚ´ËÖ®ºóϵͳµ÷ÓÃinit_module½«»á±»µ÷ÓÃÓÃÀ´³õʼ»¯LKM->Ö´ÐÐ int inti_module(void) µÈµÈ

¡¡¡¡(Äں˷ûºÅ½«»áÔÚ1.3½ÚÖÐÄں˷ûºÅ±íÖнâÊÍ)

¡¡¡¡OK,µ½Ä¿Ç°ÎªÖ¹,ÎÒÏëÎÒÃÇ¿ÉÒÔд³öÎÒÃǵÚÒ»¸öСµÄLKMÀ´ÑÝʾһÏÂÕâЩ»ù±¾µÄ¹¦ÄÜÊÇÈçºÎ¹¤×÷µÄÁË.

¡¡¡¡#define MODULE
¡¡¡¡#include
¡¡¡¡int init_module(void)
¡¡¡¡{
¡¡¡¡printk("<1>Hello World\n");
¡¡¡¡return 0;
¡¡¡¡}
¡¡¡¡void cleanup_module(void)
¡¡¡¡{
¡¡¡¡printk("<1>Bye, Bye");
¡¡¡¡}

¡¡ ¡¡Äã¿ÉÄÜ»áÆæ¹ÖΪʲôÔÚÕâÀïÎÒÓÃprintk(....)¶ø²»ÊÇprintf(.....).ÔÚÕâÀïÄãÒªÃ÷°×Äں˱à³ÌÊÇÍêÈ«²»Í¬ÓÚÆÕͨµÄÓû§»·¾³Ïµıà³Ì µÄ.ÄãÖ»ÄÜʹÓúÜÓÐÏÞµÄһЩº¯Êý(¼û1.6)½öʹÓÃÕâЩº¯ÊýÄãÊǸɲ»ÁËʲôµÄ.Òò´Ë,Ä㽫»áѧ»áÈçºÎʹÓÃÄãÔÚÓû§¼¶±ðÖÐÓõÄÄÇô¶àº¯ÊýÀ´°ïÖúÄãÈëÇÖÄÚºË. ÄÍÐÄһЩ,ÔÚ´Ë֮ǰÎÒÃDZØÐë×öÒ»µãÆäËûµÄ.....

¡¡¡¡ÉÏÃæµÄÄǸöÀý×Ó¿ÉÒÔºÜÈÝÒ׵ı»±àÒë:

¡¡¡¡# gcc -c -O3 helloworld.c
¡¡¡¡# insmod helloworld.o

¡¡¡¡OK,ÏÖÔÚÎÒÃǵÄÄ£¿éÒѾ­±»¼ÓÔØÁ˲¢ÇÒ¸øÎÒÃÇ´òÓ¡³öÁËÄǾäºÜ¾­µäµÄ»°.ÏÖÔÚÄã¿ÉÒÔͨ¹ýÏÂÃæÕâ¸öÃüÁîÀ´È·ÈÏÄãµÄLKMȷʵÔËÐÐÔÚÄں˼¶±ðÖÐ:

¡¡¡¡# lsmod
¡¡¡¡Module¡¡¡¡¡¡¡¡ Pages¡¡¡¡Used by
¡¡¡¡helloworld¡¡¡¡¡¡¡¡ 1 ¡¡¡¡ 0

¡¡¡¡Õâ¸öÃüÁî¶ÁÈ¡ÔÚ /proc/modules µÄÐÅÏ¢À´¸æËßÄ㵱ǰÄǸöÄ£¿éÕý±»¼ÓÔØ.'Pages'

¡¡¡¡ÏÔʾµÄÊÇÄÚ´æµÄÐÅÏ¢(Õâ¸öÄ£¿éÕ¼Á˶àÉÙÄÚ´æÒ³Ãæ).'Used by'ÏÔʾÁËÕâ¸öÄ£¿é±»ÏµÍ³

¡¡¡¡Ê¹ÓõĴÎÊý(ÒýÓüÆÊý).Õâ¸öÄ£¿éÖ»Óе±Õâ¸ö¼ÆÊýΪ0ʱ²Å¿ÉÒÔ±»³ýÈ¥.ÔÚ¼ì²é¹ýÕâ¸öÒÔºó,Äã¿ÉÒÔÓÃÏÂÃæµÄÃüÁîÐ¶ÔØÕâ¸öÄ£¿é

¡¡¡¡

# rmmod helloworld

¡¡ ¡¡OK,Õâ²»¹ýÊÇÎÒÃdz¯LKMsÂõ³öµÄºÜСµÄÒ»²½.ÎÒ³£³£°ÑÕâЩLKMsÓÚÀϵÄDOS TSR³ÌÐò×ö±È½Ï,(ÊǵÄ,ÎÒÖªµÀËûÃÇÖ®¼äÓÐºÜ¶àµØ·½²»Ò»Ñù),ÄÇЩTSRÄܹ»³£×¤ÔÚÄÚ´æ²¢Çҽػñµ½ÎÒÃÇÏëÒªµÄÖжÏ.Microsoft's Win9xÓÐһЩÀàËÆµÄ¶«Î÷½Ð×öVxD.¹ØÓÚÕâЩ³ÌÐòµÄ×îÓÐÒâ˼µÄÒ»µãÔÚÓÚËûÃǶ¼Äܹ»¹ÒÔÚһЩϵͳµÄ¹¦ÄÜÉÏ,ÔÚLinuxÖÐÎÒÃdzÆÕâЩ¹¦ÄÜΪϵͳµ÷Óá£


 

1.2ʲôÊÇϵͳµ÷ÓÃ

¡¡¡¡ÎÒÏ£ÍûÄãÄܹ»¶®,ÿ¸ö²Ù×÷ϵͳÔÚÄÚºËÖж¼ÓÐһЩ×îΪ»ù±¾µÄº¯Êý¸øÏµÍ³µÄÆäËû²Ù×÷µ÷ÓÃ.ÔÚ LinuxϵͳÖÐÕâЩº¯Êý¾Í±»³ÆÎªÏµÍ³µ÷ÓÃ(System Call).ËûÃÇ´ú±íÁËÒ»¸ö´ÓÓû§¼¶±ðµ½Äں˼¶±ðµÄת»».ÔÚÓû§¼¶±ðÖдò¿ªÒ»¸öÎļþÔÚÄں˼¶±ðÖÐÊÇͨ¹ýsys_openÕâ¸öϵͳµ÷ÓÃʵÏÖµÄ.ÔÚ /usr/include/sys/syscall.hÖÐÓÐÒ»¸öÍêÕûµÄϵͳµ÷ÓÃÁбí.ÏÂÃæµÄÁбíÊÇÎÒµÄsyscall.h

¡¡

¡¡#ifndef _SYS_SYSCALL_H
¡¡¡¡#define _SYS_SYSCALL_H
¡¡¡¡#define SYS_setup 0
¡¡¡¡/* Ö»±»initʹÓÃ,ÓÃÀ´Æô¶¯ÏµÍ³µÄ*/
¡¡¡¡#define SYS_exit 1
¡¡¡¡#define SYS_fork 2
¡¡¡¡#define SYS_read 3
¡¡¡¡#define SYS_write 4
¡¡¡¡#define SYS_open 5
¡¡¡¡#define SYS_close 6
¡¡¡¡#define SYS_waitpid 7
¡¡¡¡#define SYS_creat 8
¡¡¡¡#define SYS_link 9
¡¡¡¡#define SYS_unlink 10
¡¡¡¡#define SYS_execve 11
¡¡¡¡#define SYS_chdir 12
¡¡¡¡#define SYS_time 13
¡¡¡¡#define SYS_prev_mknod 14
¡¡¡¡#define SYS_chmod 15
¡¡¡¡#define SYS_chown 16
¡¡¡¡#define SYS_break 17
¡¡¡¡#define SYS_oldstat 18
¡¡¡¡#define SYS_lseek 19
¡¡¡¡#define SYS_getpid 20
¡¡¡¡#define SYS_mount 21
¡¡¡¡#define SYS_umount 22
¡¡¡¡#define SYS_setuid 23
¡¡¡¡#define SYS_getuid 24
¡¡¡¡#define SYS_stime 25
¡¡¡¡#define SYS_ptrace 26
¡¡¡¡#define SYS_alarm 27
¡¡¡¡#define SYS_oldfstat 28
¡¡¡¡#define SYS_pause 29
¡¡¡¡#define SYS_utime 30
¡¡¡¡#define SYS_stty 31
¡¡¡¡#define SYS_gtty 32
¡¡¡¡#define SYS_access 33
¡¡¡¡#define SYS_nice 34
¡¡¡¡#define SYS_ftime 35
¡¡¡¡#define SYS_sync 36
¡¡¡¡#define SYS_kill 37
¡¡¡¡#define SYS_rename 38
¡¡¡¡#define SYS_mkdir 39
¡¡¡¡#define SYS_rmdir 40
¡¡¡¡#define SYS_dup 41
¡¡¡¡#define SYS_pipe 42
¡¡¡¡#define SYS_times 43
¡¡¡¡#define SYS_prof 44
¡¡¡¡#define SYS_brk 45
¡¡¡¡#define SYS_setgid 46
¡¡¡¡#define SYS_getgid 47
¡¡¡¡#define SYS_signal 48
¡¡¡¡#define SYS_geteuid 49
¡¡¡¡#define SYS_getegid 50
¡¡¡¡#define SYS_acct 51
¡¡¡¡#define SYS_phys 52
¡¡¡¡#define SYS_lock 53
¡¡¡¡#define SYS_ioctl 54
¡¡¡¡#define SYS_fcntl 55
¡¡¡¡#define SYS_mpx 56
¡¡¡¡#define SYS_setpgid 57
¡¡¡¡#define SYS_ulimit 58
¡¡¡¡#define SYS_oldolduname 59
¡¡¡¡#define SYS_umask 60
¡¡¡¡#define SYS_chroot 61
¡¡¡¡#define SYS_prev_ustat 62
¡¡¡¡#define SYS_dup2 63
¡¡¡¡#define SYS_getppid 64
¡¡¡¡#define SYS_getpgrp 65
¡¡¡¡#define SYS_setsid 66
¡¡¡¡#define SYS_sigaction 67
¡¡¡¡#define SYS_siggetmask 68
¡¡¡¡#define SYS_sigsetmask 69
¡¡¡¡#define SYS_setreuid 70
¡¡¡¡#define SYS_setregid 71
¡¡¡¡#define SYS_sigsuspend 72
¡¡¡¡#define SYS_sigpending 73
¡¡¡¡#define SYS_sethostname 74
¡¡¡¡#define SYS_setrlimit 75
¡¡¡¡#define SYS_getrlimit 76
¡¡¡¡#define SYS_getrusage 77
¡¡¡¡#define SYS_gettimeofday 78
¡¡¡¡#define SYS_settimeofday 79
¡¡¡¡#define SYS_getgroups 80
¡¡¡¡#define SYS_setgroups 81
¡¡¡¡#define SYS_select 82
¡¡¡¡#define SYS_symlink 83
¡¡¡¡#define SYS_oldlstat 84
¡¡¡¡#define SYS_readlink 85
¡¡¡¡#define SYS_uselib 86
¡¡¡¡#define SYS_swapon 87
¡¡¡¡#define SYS_reboot 88
¡¡¡¡#define SYS_readdir 89
¡¡¡¡#define SYS_mmap 90
¡¡¡¡#define SYS_munmap 91
¡¡¡¡#define SYS_truncate 92
¡¡¡¡#define SYS_ftruncate 93
¡¡¡¡#define SYS_fchmod 94
¡¡¡¡#define SYS_fchown 95
¡¡¡¡#define SYS_getpriority 96
¡¡¡¡#define SYS_setpriority 97
¡¡¡¡#define SYS_profil 98
¡¡¡¡#define SYS_statfs 99
¡¡¡¡#define SYS_fstatfs 100
¡¡¡¡#define SYS_ioperm 101
¡¡¡¡#define SYS_socketcall 102
¡¡¡¡#define SYS_klog 103
¡¡¡¡#define SYS_setitimer 104
¡¡¡¡#define SYS_getitimer 105
¡¡¡¡#define SYS_prev_stat 106
¡¡¡¡#define SYS_prev_lstat 107
¡¡¡¡#define SYS_prev_fstat 108
¡¡¡¡#define SYS_olduname 109
¡¡¡¡#define SYS_iopl 110
¡¡¡¡#define SYS_vhangup 111
¡¡¡¡#define SYS_idle 112
¡¡¡¡#define SYS_vm86old 113
¡¡¡¡#define SYS_wait4 114
¡¡¡¡#define SYS_swapoff 115
¡¡¡¡#define SYS_sysinfo 116
¡¡¡¡#define SYS_ipc 117
¡¡¡¡#define SYS_fsync 118
¡¡¡¡#define SYS_sigreturn 119
¡¡¡¡#define SYS_clone 120
¡¡¡¡#define SYS_setdomainname 121
¡¡¡¡#define SYS_uname 122
¡¡¡¡#define SYS_modify_ldt 123
¡¡¡¡#define SYS_adjtimex 124
¡¡¡¡#define SYS_mprotect 125
¡¡¡¡#define SYS_sigprocmask 126
¡¡¡¡#define SYS_create_module 127
¡¡¡¡#define SYS_init_module 128
¡¡¡¡#define SYS_delete_module 129
¡¡¡¡#define SYS_get_kernel_syms 130
¡¡¡¡#define SYS_quotactl 131
¡¡¡¡#define SYS_getpgid 132
¡¡¡¡#define SYS_fchdir 133
¡¡¡¡#define SYS_bdflush 134
¡¡¡¡#define SYS_sysfs 135
¡¡¡¡#define SYS_personality 136
¡¡¡¡#define SYS_afs_syscall 137
¡¡¡¡#define SYS_setfsuid 138
¡¡¡¡#define SYS_setfsgid 139
¡¡¡¡#define SYS__llseek 140
¡¡¡¡#define SYS_getdents 141
¡¡¡¡#define SYS__newselect 142
¡¡¡¡#define SYS_flock 143
¡¡¡¡#define SYS_syscall_flock SYS_flock
¡¡¡¡#define SYS_msync 144
¡¡¡¡#define SYS_readv 145
¡¡¡¡#define SYS_syscall_readv SYS_readv
¡¡¡¡#define SYS_writev 146
¡¡¡¡#define SYS_syscall_writev SYS_writev
¡¡¡¡#define SYS_getsid 147
¡¡¡¡#define SYS_fdatasync 148
¡¡¡¡#define SYS__sysctl 149
¡¡¡¡#define SYS_mlock 150
¡¡¡¡#define SYS_munlock 151
¡¡¡¡#define SYS_mlockall 152
¡¡¡¡#define SYS_munlockall 153
¡¡¡¡#define SYS_sched_setparam 154
¡¡¡¡#define SYS_sched_getparam 155
¡¡¡¡#define SYS_sched_setscheduler 156
¡¡¡¡#define SYS_sched_getscheduler 157
¡¡¡¡#define SYS_sched_yield 158
¡¡¡¡#define SYS_sched_get_priority_max 159
¡¡¡¡#define SYS_sched_get_priority_min 160
¡¡¡¡#define SYS_sched_rr_get_interval 161
¡¡¡¡#define SYS_nanosleep 162
¡¡¡¡#define SYS_mremap 163
¡¡¡¡#define SYS_setresuid 164
¡¡¡¡#define SYS_getresuid 165
¡¡¡¡#define SYS_vm86 166
¡¡¡¡#define SYS_query_module 167
¡¡¡¡#define SYS_poll 168
¡¡¡¡#define SYS_syscall_poll SYS_poll
¡¡¡¡#endif /* */

¡¡¡¡Ã¿¸öϵͳµ÷Óö¼ÓÐÒ»¸öÔ¤¶¨ÒåµÄÊý×Ö(¼ûÉϱí),ÄÇʵ¼ÊÉÏÊÇÓÃÀ´½øÐÐÕâЩµ÷ÓõÄ.ÄÚºËͨ¹ýÖжÏ0x80À´¿ØÖÆÃ¿Ò»¸öϵͳµ÷ÓÃ.ÕâЩϵͳµ÷ÓõÄÊý×ÖÒÔ¼°ÈκβÎÊý¶¼½«±»·ÅÈëijЩ¼Ä´æÆ÷(eaxÓÃÀ´·ÅÄÇЩ´ú±íϵͳµ÷ÓõÄÊý×Ö,±ÈÈç˵)

ÄÇЩϵͳµ÷ÓõÄÊý×ÖÊÇÒ»¸ö±»³ÆÖ®Îªsys_call_table[]µÄÄÚºËÖеÄÊý×é½á¹¹µÄË÷ÒýÖµ.Õâ¸ö½á¹¹°Ñϵͳµ÷ÓõÄÊý×ÖÓ³É䵽ʵ¼ÊʹÓõĺ¯Êý.

¡¡¡¡OK,ÕâЩÊǼÌÐøÔĶÁËù±ØÐëµÄ×㹻֪ʶÁË.ÏÂÃæµÄ±íÁгöÁËÄÇЩ×îÓÐÒâ˼µÄϵͳµ÷ÓÃÒÔ¼°Ò»Ð©¼ò¶ÌµÄ×¢ÊÍ.ÏàÐÅÎÒ,ΪÁËÄãÄܹ»ÕæÕýµÄд³öÓÐÓõÄLKMÄã±ØÐëȷʵ¶®µÃÄÇЩϵͳµ÷

¡¡¡¡ÓÃÊÇÈçºÎ¹¤×÷µÄ.

¡¡¡¡ÏµÍ³µ÷ÓÃÁбí:

¡¡

¡¡int sys_brk(unsigned long new_brk);
¡¡¡¡¸Ä±äDS(Êý¾Ý¶Î)µÄ´óС->Õâ¸öϵͳµ÷ÓûáÔÚ1.4ÖÐÌÖÂÛ
¡¡¡¡int sys_fork(struct pt_regs regs);
¡¡¡¡ÖøÃûµÄfork()ËùÓõÄϵͳµ÷ÓÃ
¡¡¡¡int sys_getuid ()
¡¡¡¡int sys_setuid (uid_t uid)
¡¡¡¡ÓÃÓÚ¹ÜÀíUIDµÈµÈµÄϵͳµ÷ÓÃ
¡¡¡¡int sys_get_kernel_sysms(struct kernel_sym *table)
¡¡¡¡ÓÃÓÚ´æÈ¡ÏµÍ³º¯Êý±íµÄϵͳµ÷ÓÃ(->1.3)
¡¡¡¡int sys_sethostname (char *name, int len);
¡¡¡¡int sys_gethostname (char *name, int len);
¡¡¡¡sys_sethostnameÊÇÓÃÀ´ÉèÖÃÖ÷»úÃû(hostname)µÄ,sys_gethostnameÊÇÓÃÀ´È¡µÄ
¡¡¡¡int sys_chdir (const char *path);
¡¡¡¡int sys_fchdir (unsigned int fd);
¡¡¡¡Á½¸öº¯Êý¶¼ÊÇÓÃÓÚÉèÖõ±Ç°µÄĿ¼µÄ(cd ...)
¡¡¡¡int sys_chmod (const char *filename, mode_t mode);
¡¡¡¡int sys_chown (const char *filename, mode_t mode);
¡¡¡¡int sys_fchmod (unsigned int fildes, mode_t mode);
¡¡¡¡int sys_fchown (unsigned int fildes, mode_t mode);
¡¡¡¡ÓÃÓÚ¹ÜÀíȨÏ޵ĺ¯Êý
¡¡¡¡int sys_chroot (const char *filename);
¡¡¡¡ÓÃÓÚÉèÖÃÔËÐнø³ÌµÄ¸ùĿ¼µÄ
¡¡¡¡int sys_execve (struct pt_regs regs);
¡¡¡¡·Ç³£ÖØÒªµÄϵͳµ÷ÓÃ->ÓÃÓÚÖ´ÐÐÒ»¸ö¿ÉÖ´ÐÐÎļþµÄ(pt_regsÊǶÑÕ»¼Ä´æÆ÷)
¡¡¡¡long sys_fcntl (unsigned int fd, unsigned int cmd, unsigned long arg);
¡¡¡¡¸Ä±äfd(´ò¿ªÎļþÃèÊö·û)µÄÊôÐÔµÄ
¡¡¡¡int sym_link (const char *oldname, const char *newname);
¡¡¡¡int sys_unlink (const char *name);
¡¡¡¡ÓÃÓÚ¹ÜÀíÓ²/ÈíÁ´½ÓµÄº¯Êý
¡¡¡¡int sys_rename (const char *oldname, const char *newname);
¡¡¡¡ÓÃÓڸıäÎļþÃû
¡¡¡¡int sys_rmdir (const char* name);
¡¡¡¡int sys_mkdir (const *char filename, int mode);
¡¡¡¡ÓÃÓÚн¨ÒѾ­É¾³ýĿ¼
¡¡¡¡int sys_open (const char *filename, int mode);
¡¡¡¡int sys_close (unsigned int fd);
¡¡¡¡ËùÓкʹò¿ªÎļþ(°üÀ¨Ð½¨)ÓйصIJÙ×÷,»¹ÓйرÕÎļþµÄ.
¡¡¡¡int sys_read (unsigned int fd, char *buf, unsigned int count);
¡¡¡¡int sys_write (unsigned int fd, char *buf, unsigned int count);
¡¡¡¡¶ÁдÎļþµÄϵͳµ÷ÓÃ
¡¡¡¡int sys_getdents (unsigned int fd, struct dirent *dirent, unsigned int count);
¡¡¡¡ÓÃÓÚÈ¡µÃÎļþÁбíµÄϵͳµ÷ÓÃ(ls...ÃüÁî)
¡¡¡¡int sys_readlink (const char *path, char *buf, int bufsize);
¡¡¡¡¶Á·ûºÅÁ´½ÓµÄϵͳµ÷ÓÃ
¡¡¡¡int sys_selectt (int n, fd_set *inp, fd_set *outp, fd_set *exp, struct timeval *tvp);
¡¡¡¡¶à·¸´ÓÃI/O²Ù×÷
¡¡¡¡sys_socketcall (int call, unsigned long args);
¡¡¡¡socket º¯Êý
¡¡¡¡unsigned long sys_create_module (char *name, unsigned long size);
¡¡¡¡int sys_delete_module (char *name);
¡¡¡¡int sys_query_module (const char *name, int which, void *buf, size_t bufsize,
¡¡¡¡size_t *ret);

¡¡¡¡ÓÃÓÚÄ£¿éµÄ¼ÓÔØ/Ð¶ÔØºÍ²éѯ.

¡¡¡¡ÒÔÉϾÍÊÇÎÒÈÏΪÈëÇÖÕß»á¸ÐÐËȤµÄϵͳµ÷ÓÃ.µ±È»Èç¹ûÒª»ñµÃϵͳµÄrootȨÄãÓпÉÄÜÐèÒªÒ»Ð©ÌØÊâµÄϵͳµ÷ÓÃ,µ«ÊÇ×÷Ϊһ¸öhackerËûºÜ¿ÉÄÜ»áÓµÓÐÒ»¸öÉÏÃæÁгöµÄ×î»ù±¾µÄÁбí.ÔÚµÚ¶þ²¿·ÖÖÐÄã»áÖªµÀÈçºÎÀûÓÃÕâЩϵͳµ÷ÓÃÀ´ÊµÏÖÄã×Ô¼ºµÄÄ¿µÄ¡£

Ïà¹ØÎÄÕ ÈÈÃÅÎÄÕÂ
  • Linuxϵͳ¿ÉÐ¶ÔØÄÚºËÄ£¿éÍêȫָÄÏ
  • Linuxϵͳ¿ÉÐ¶ÔØÄÚºËÄ£¿éÍêȫָÄÏ(2)
  • Linuxϵͳ¿ÉÐ¶ÔØÄÚºËÄ£¿éÍêȫָÄÏ(3)
  • linuxµÄ»ù±¾²Ù×÷£¨ÉÏ£©
  • LinuxϵͳÏÂÓ¦ÓÃ֪ʶ´óÜöÝÍ
  • GNU GRUBÆô¶¯¹ÜÀíÆ÷
  • ÖÆ×÷»ùÓÚÈíÅ̵ÄLinuxϵͳ
  • ÍøÂçÅäÖÃÎļþ¿ìËÙ½â¶Á
  • linuxµÄ»ù±¾²Ù×÷£¨Ï£©
  • ÆÊÎöLinuxϵͳÆô¶¯¹ý³Ì
  • DameWareÈþÖÓòÍø¹ÜÀí²»ÔÙ·±Ëö
  • ÔÚRedhat 9ÏÂʵÏÖË«»úÈȱ¸ºÍ¼¯Èº¹¦ÄÜ
  • LINUXÊØ»¤½ø³Ì½éÉÜ
  • Redhat advance server 2.1¼¯ÈºµÄ°²×°Óë¹ÜÀí
  • Linux±ØÐëѧ»áµÄ60¸öÃüÁî-Îļþ´¦Àí
  • ×ÔÓÉ¹ã¸æÇø
    ¡¡
     
    ×îÐÂÈí¼þÏÂÔØ
  • ORF Enterprise Edition 4.2 Õýʽ°æ
  • WinWebMail 3.7.7.3 ±ê×¼°æ
  • WinWebMail 3.7.7.3 ÆóÒµ°æ
  • BMailì÷ÓÊ
  • Merak Email Server for Windows 9.3.1..
  • Merak Email Server for Linux 9.3.1 ¼..
  • Merak Email Server 9.3.1 For Windwos..
  • AXIGEN Mail Server 6.1.1 for Windows
  • AXIGEN Mail Server 6.1.0 for Linux
  • ADModify.NETÏÂÔØ
  • symantec10.1»ù±¾°²×°¼°ÅäÖÃÊÓÆµ½Ì³Ì
  • Backup Exec System RecoveryÖ®±¸·ÝÊÓÆ..
  • ½ñÈÕÓʼþ¼¼ÊõÎÄÕÂ
  • ÃÀ´óѧÉúÇÖÈëÅåÁÖÖݳ¤¸öÈËÓʼþÕË»§±»´þ²¶
  • ˼¿ÆIronPort·¢²¼Ðµç×ÓÓʼþ°²È«É豸
  • Éî¸û"Èí¼þ+·þÎñ" ΢Èí300³ÇÊÐѲչî£ÓÊ
  • ´ÓºÚ¿Í³£Óù¥»÷Êֶο´WEBÓ¦Ó÷À»¤
  • ÏûÏ¢ÈËʿ͸¶ÑÅ»¢ÓëAOLºÏ²¢Ï¸½Ú½«ÓÚ±¾Ô..
  • ¹È¸èÌṩµÄµç×ÓÓʼþ´æµµÊ±¼äÑÓ³¤ÎªÊ®Äê
  • ÑÅ»¢½«ÔÚÓÊÏä·þÎñÖÐÕûºÏаæÔÚÏßÈÕÀú
  • 9ÔÂÀ¬»øÓʼþ×ÜÁ¿¼õÉÙ ÓëISPµ¹±ÕÓйØ
  • À¬»øÓʼþ·¢Õ¹µÄËÄ´óÇ÷ÊÆ
  • º«¹úÒéÔ±³ÆÖйúºÚ¿Íð³äÇàÍß̨·¢ËͲ¡¶¾..
  • VistaÄÑ³ÉÆøºò Windows XPÊÙÃü±»ÑÓ³¤
  • ÈüÃÅÌú¿ËÉý¼¶DLP²úÆ·¼°·´À¬»øÓʼþÍø¹Ø
  • ×îÐÂרÌâ
  • Sendmail ÓʼþϵͳÅäÖÃ
  • ×齨Exchange 2003Óʼþϵͳ
  • Windows Server 2008 רÌâ
  • ORF ·´À¬»øÓʼþϵͳ
  • Exchange Server 2007 רÌâ
  • ISA Server 2006 ½Ì³ÌרÌâ
  • Windows Vista ¼¼ÊõרÌâ
  • ¡°ºÚÝ®¡±£¨BlackBerry£©×¨Ìâ
  • ÒÆ¶¯µç×ÓÓʼþרÌâ
  • Apache James רÌâ
  • IMail Server ²Ù×÷Ö¸ÄÏ
  • ISA Server 2004 ʹÓÃרÌâ
  • ·ÖÀർº½
    ÓʼþÐÂÎÅ×ÊѶ:
    ITÒµ½ç | Óʼþ·þÎñÆ÷ | ÓʼþȤÎÅ | ÒÆ¶¯µçÓÊ
    µç×ÓÓÊÏä | ·´À¬»øÓʼþ|Óʼþ¿Í»§¶Ë|ÍøÂ簲ȫ
    ÐÐÒµÊý¾Ý | ÓʼþÈËÎï | ÍøÕ¾¹«¸æ | ÐÐÒµ·¨¹æ
    ÍøÂç¼¼Êõ:
    ÓʼþÔ­Àí | ÍøÂçЭÒé | ÍøÂç¹ÜÀí | ´«Êä½éÖÊ
    Ïß·½ÓÈë | ·ÓÉ½Ó¿Ú | Óʼþ´æ´¢ | »ªÎª3Com
    CISCO¼¼Êõ | ÍøÂçÓë·þÎñÆ÷Ó²¼þ
    ²Ù×÷ϵͳ:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | ÆäËü²Ù×÷ϵͳ
    Óʼþ·þÎñÆ÷:
    ³ÌÐòÓ뿪·¢ | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    ½ðµÑÓʼþϵͳ | ÆäËü |
    ·´À¬»øÓʼþ:
    ×ÛÊö| ¿Í»§¶Ë·´À¬»øÓʼþ|·þÎñÆ÷¶Ë·´À¬»øÓʼþ
    Óʼþ¿Í»§¶ËÈí¼þ:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | À×Äñ | Eudora |Becky! |Pegasus
    IncrediMail |ÆäËü
    µç×ÓÓÊÏä: ¸öÈËÓÊÏä | ÆóÒµÓÊÏä |Gmail
    ÒÆ¶¯µç×ÓÓʼþ:·þÎñÆ÷ | ¿Í»§¶Ë | ¼¼ÊõÇ°ÑØ
    ÓʼþÍøÂ簲ȫ:
    Èí¼þ©¶´ | °²È«ÖªÊ¶ | ²¡¶¾¹«¸æ |·À»ðǽ
    ¹¥·À¼¼Êõ | ²¡¶¾²éɱ| ISA | Êý×ÖÇ©Ãû
    ÓʼþÓªÏú:
    EmailÓªÏú | ÍøÂçÓªÏú | ÓªÏú¼¼ÇÉ |ÓªÏú°¸Àý
    ÓʼþÈ˲Å:ÕÐÆ¸ | Ö°³¡ | Åàѵ | Ö¸ÄÏ | Ö°³¡
    ½â¾ö·½°¸:
    Óʼþϵͳ|·´À¬»øÓʼþ |°²È« |ÒÆ¶¯µçÓÊ |Õбê
    ²úÆ·ÆÀ²â:
    Óʼþϵͳ |·´À¬»øÓʼþ |ÓÊÏä |°²È« |¿Í»§¶Ë
    ¹ã¸æÁªÏµ | ºÏ×÷ÁªÏµ | ¹ØÓÚÎÒÃÇ | ÁªÏµÎÒÃÇ | ·±ówÖÐÎÄ
    °æÈ¨ËùÓУºÓʼþ¼¼Êõ×ÊÑ¶Íø©2003-2007 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   ÔÁICP±¸05009143ºÅ