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

Linux ELFÎļþ×°ÈëÓëÖ´ÐиÅÊö


ELFÊÇlinuxÖÐʹÓÃ×î¹ã·ºµÄÒ»ÖÖÓ¦ÓóÌÐò¸ñʽ£¬ÎªÁËŪÇå³þLinuxÄÚºËÊÇÈçºÎ½²ELFÎļþ¾«È·Ó³Éäµ½Ö¸¶¨ÄÚ´æ¿Õ¼ä£¬ÉÏÖÜÄ©°ÑÄÚºËsys_execve²¿·ÖºÃºÃ¿´ÁËÒ»±é£¬Ð¡½áÈçÏ£º
1. ELF¸ñʽ
ELFÖ¸¶¨Á˽ø³ÌÖÐtext¶Î¡¢bss¶Î¡¢data¶ÎµÈÓ¦¸Ã·ÅÖõ½½ø³ÌÐéÄâÄÚ´æ¿Õ¼äµÄʲôλÖã¬ÒÔ¼°¼Ç¼Á˽ø³ÌÐèÒªÓõ½µÄ¸÷ÖÖ¶¯Ì¬Á´½Ó¿âµÄλÖá£
2. sys_execveµÄ´óÖÂÖ´ÐÐÁ÷³Ì
  1) ´ò¿ªELF¶þ½øÖÆÎļþ£¬¶ÁÈëELFÍ·
  2) ɾ³ý´Ó¸¸½ø³Ì¼Ì³Ð¹ýÀ´µÄmmÏà¹ØÄÚÈÝ
  3) ¸ù¾ÝELFÍ·½«interpreter¶Î¡¢text¶Î¡¢data¶ÎµÈÓ³Éä½øÄڴ棨ÓÉ´ËÖªlinux²»Ö§³ÖѹËõÁ˵Ķþ½øÖƳÌÐò£©
     ÉèÖúöÑÕ»µÈ£¬¸üÐÂmmÄÚÈÝ¡£
  4) "αÔì"ºÃ±¾½ø³ÌµÄÄÚºËÕ»£¬Îª½ø³Ì·µ»ØÓû§Ì¬Ö´ÐÐ×öºÃ×¼±¸¡£ÄÚºËÕ»ÖеÄipÖ¸ÏòÁËinterpreter¶ÎÈë¿Ú¡£
  5) sys_execveϵͳµ÷Ó÷µ»Øµ½Óû§Ì¬£¬¿ªÊ¼interpreterµÄÖ´ÐУ¨interpreterÒ»°ãΪlinux-ld.so.2 or similar£©
 ½øÈëµ½Óû§Ì¬ºó£¬interpreter×öÁËЩʲôÄØ£¿
  6) interpreter°ïÖúÓû§½ø³Ì×°È붯̬Á´½Ó¿â£¬×öºÃÈ«²¿Öض¨Î»Ó³É乤×÷¡£
  7) interpreter·µ»Øµ½main¿ªÊ¼Ö´ÐС£
ÕâÀïÃæÓм¸¸öÎÊÌâÐèÒªÉ£º
  1> sys_execve±»µ÷ÓõÄʱºòÄÚºËÕ»³¤Ê²Ã´Ñù£¿Óû§Ì¬²ÎÊýÊÇÈçºÎ´«Èëµ½Äں˵ģ¿
    Ö»ÓÐŪÃ÷°×ÁËÕâ¸öÎÊÌ⣬²ÅÖªµÀÈçºÎ´ÓÄں˷µ»Øµ½interpreterÈë¿Ú¿ªÊ¼Ö´ÐÐ
     A: ¹ØÓÚÕâ¸öÎÊÌâÇë²Î¿¼linuxϵͳµ÷ÓÃÏà¹ØÕ½ڡ£linuxϵͳµ÷ÓòÉÈ¡ÁËÒ»¸öÒ»Öµķ½·¨À´´¦Àíϵͳµ÷ÓòÎÊýÎÊÌ⣬·Ç³£ÖµµÃ½è¼ø£¬½«ÁíÍâ׫ÎÄÊáÀíÆäÉè¼Æ˼·¡£
  2> interpreterµÄ²ÎÊý´ÓÄÄÀïÀ´£¿interpreterÈçºÎ·µ»Øµ½main£¿
     A: Èç¹û´Ó´«Í³µÄCÓïÑÔº¯Êýµ÷ÓõĽǶÈÀ´Àí½â£¬Õâ¸öÎÊÌâ»áºÜ·Ñ½â¡£µ«ÊÇÈç¹ûÄÜ´Ó»ã±àµÄ½Ç¶È£¬¶¯Ì¬µØ¡¢ÓÐÄ¿µÄµØµ÷ÕûºÍ"αÔì"µ÷ÓÃÕ»£¬¾ÍÄܹ»×öµ½·½±ãµØÔÙ¸÷¸öº¯Êý¼äÇл»ºÍ´«²Î¡£
     Äں˻ṹÔìºÃinterpreterËùÐèÒªµÄ²ÎÊýÕ»£¬interpreter»á¹¹ÔìºÃmainËùÐèÒªµÄ²ÎÊýÕ»¡£Óû§Õ»ÊÇÔÚsetup_arg_pagesº¯ÊýÖй¹½¨µÄ¡£
  3> ÄÚºËÊÇÈçºÎ±£Ö¤½«¸÷¸ö¶ÎÓ³Éäµ½ÆÚÍûµÄλÖÃ?
     mmapº¯ÊýÓÐÒ»¸ö²ÎÊýÈ¡MAP_FIXED²ÎÊý¼´¿É¡£
±Ê¼Ç¸½ÎÄ£º
/* ½«µ±Ç°(current)µÄmm½á¹¹Ìæ»»³É²ÎÊýÖеÄmm½á¹¹¡£±¾º¯Êý±»
* int flush_old_exec(struct linux_binprm * bprm)µ÷Óá£
* ¾Émm±»É¾³ý¡£
*/
stati


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

linux 0.11 copy_page_tables()º¯Êý

/* Ëûͨ¹ýÖ»¸´ÖÆÄÚ´æÒ³ÃæÀ´¸´ÖÆÒ»¶¨·¶Î§ÄÚµÄÏßÐÔµØÖ·µÄÄÚÈÝ*/
00150int copy_page_tables(unsigned long from,unsigned long to,long size)
00151 {
00152     unsigned long * from_page_table;
00153     unsigned long * to_page_table;
00154     un ......

linux Æô¶¯Ê±¡°smartd¡±×ÜÊÇʧ°Ü£¿

smartdÊÇÒ»¸öÊØ»¤½ø³Ì£¨Ò»¸ö°ïÖú³ÌÐò£©£¬ËüÄܼàÊÓÓµÓÐ×ÔÎÒ¼àÊÓ£¬·ÖÎöºÍ»ã±¨¼¼Êõ(Self-Monitoring,
Analysis, and Reporting Technology - SMART)µÄÓ²ÅÌ¡£
SMARTϵͳʹµÃÓ²ÅÌÄܼàÊÓ²¢»ã±¨×Ô¼ºµÄÔËÐÐ×´¿ö¡£ËüµÄÒ»¸öÖØÒªÌØÐÔÊÇÄܹ»Ô¤²âʧ°Ü£¬Ê¹µÃϵͳ¹ÜÀíÔ±
ÄܱÜÃâÊý¾Ý¶ªÊ§¡£
smartdÓÉkernel-utils°üȱʡ°²×°¡£ÓÃÃüÁî r ......

linuxÏ°²×°torºóprivoxyµÄÅäÖÃ


torÓëprivoxy°²×°ºÃÁË£¬µ«»¹ÐèÒª¶Ôprivoxy½øÐÐһЩ¼òµ¥µÄÅäÖòÅÄÜʹtorÕý³£ÔËÐÐ
´ò¿ªprivoxyµÄÅäÖÃÎļþconfig£¬Ò»°ãÔÚ/etc/privoxy/Ŀ¼Ï¡£
ÔÚ5.2. forward-socks4 and forward-socks4aÏÂÃ棬¼ÓÉÏ£º
1 forward-socks4a / 127.0.0.1:9050 .
ǧÍò²»ÒªÍü¼Ç×îºóÃæ²»ÆðÑÛµÄÒ»µã
Ìí¼ÓµÄ²¿·Ö:

#  5.2. for ......

LinuxϵͳµÄÓ²¼þÇý¶¯³ÌÐò±àдԭÀí

LinuxϵͳµÄÓ²¼þÇý¶¯³ÌÐò±àдԭÀí
http://www.yesky.com/161/1874161.shtml
±¾ÎÄÏêϸµØ½éÉÜÈçºÎLinuxϵͳµÄÓ²¼þÇý¶¯³ÌÐòµÄ±àдԭÀí£¬Ö¸³öÄÄЩÄÚºËÀý³Ì½«»á±»µ÷Óá¢ÈçºÎ³õʼ»¯Çý¶¯³ÌÐò¼°ÈçºÎ·ÖÅäÄÚ´æµÈµÈ¡£´ó¼ÒÒ»¶¨¶ÔLinux²Ù×÷ϵͳÓÐËùÁ˽âÁË£¬Ôڴ˱¾ÈËÒ²²»ÔÙ׸ÊöÁË¡£ºÃ°É£¬ÏÂÃæ¼òµ¥µØ½éÉÜÒ»ÏÂÉ豸Çý¶¯³ÌÐò¡£¹ËÃû˼Ò壬Çý¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ