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

Linux »ã±àÆ÷£º¶Ô±È GAS ºÍ NASM

±¾ÎĽâÊÍÁ½ÖÖ×îÁ÷ÐÐµÄ Linux® »ã±àÆ÷ —— GNU Assembler£¨GAS£©ºÍ Netwide
Assembler£¨NASM£© ——
Ö®¼äһЩ±È½ÏÖØÒªµÄÓï·¨²îÒìºÍÓïÒå²îÒ죬°üÀ¨»ù±¾Óï·¨¡¢±äÁ¿ºÍÄÚ´æ·ÃÎÊ¡¢ºê´¦Àí¡¢º¯ÊýºÍÍⲿÀý³Ì¡¢¶ÑÕ»´¦ÀíÒÔ¼°Öظ´Ö´ÐдúÂë¿éµÄ¼¼Êõ·½ÃæµÄ²îÒì¡£
ÓëÆäËûÓïÑÔ²»Í¬£¬»ã±àÓïÑÔ
ÒªÇ󿪷¢ÈËÔ±Á˽â±à³ÌËùÓûúÆ÷µÄ´¦ÀíÆ÷Ìåϵ½á¹¹¡£»ã±à³ÌÐò²»¿ÉÒÆÖ²£¬Î¬»¤ºÍÀí½â³£
³£±È½ÏÂé·³£¬Í¨³£°üº¬´óÁ¿´úÂëÐС£µ«ÊÇ£¬ÔÚ»úÆ÷ÉÏÖ´ÐеÄÔËÐÐʱ¶þ½øÖÆ´úÂëÔÚËٶȺʹóС·½ÃæÓÐÓÅÊÆ¡£
¶ÔÓÚÔÚ Linux
ÉϽøÐлã±à¼¶±à³ÌÒѾ­ÓÐÐí¶à²Î¿¼×ÊÁÏ£¬±¾ÎÄÖ÷Òª½²½âÓï·¨Ö®¼äµÄ²îÒ죬°ïÖúÄú¸üÇáËɵØÔÚ»ã±àÐÎʽ֮¼ä½øÐÐת»»¡£±¾ÎÄÔ´ÓÚÎÒ×Ô¼ºÊÔͼ¸Ä½øÕâÖÖת»»µÄ³¢ÊÔ¡£
±¾ÎÄʹÓÃһϵÁгÌÐòʾÀý¡£Ã¿¸ö³ÌÐòÑÝÊ¾Ò»Ð©ÌØÐÔ£¬È»ºóÊǶÔÓï·¨µÄÌÖÂۺͶԱȡ£¾¡¹Ü²»¿ÉÄÜÌÖÂÛ NASM ºÍ GAS
Ö®¼ä´æÔÚµÄÿ¸ö²îÒ죬µ«ÊÇÎÒÊÔͼÌÖÂÛÖ÷Òª·½Ã棬¸ø½øÒ»²½Ñо¿Ìṩһ¸ö»ù´¡¡£ÄÇЩÒѾ­ÊìϤ NASM ºÍ GAS
µÄ¶ÁÕßÒ²¿ÉÒÔÔÚÕâÀïÕÒµ½ÓÐÓõÄÄÚÈÝ£¬±ÈÈçºê¡£
±¾ÎļÙÉèÄúÖÁÉÙ»ù±¾Á˽â»ã±àµÄÊõÓï£¬Ôø¾­Ó÷ûºÏ Intel® Óï·¨µÄ»ã±àÆ÷±àд¹ý³ÌÐò£¬¿ÉÄÜÔÚ Linux »ò
Windows ÉÏʹÓùý NASM¡£±¾ÎIJ¢²»½²½âÈçºÎÔڱ༭Æ÷ÖÐÊäÈë´úÂ룬»òÕßÈçºÎ½øÐлã±àºÍÁ´½Ó£¨µ«ÊÇÏÂÃæµÄ±ßÀ¸¿ÉÒÔ°ïÖúÄú ¿ì
ËÙ»ØÒäÒ»ÏÂ
£©¡£ÄúÓ¦¸ÃÊìϤ Linux ²Ù×÷ϵͳ£¨ÈκΠLinux ·¢Ðа涼¿ÉÒÔ£»ÎÒʹÓõÄÊÇ Red Hat ºÍ
Slackware£©ºÍ»ù±¾µÄ GNU ¹¤¾ß£¬±ÈÈç gcc ºÍ ld£¬»¹Ó¦¸ÃÔÚ x86 »úÆ÷ÉϽøÐбà³Ì¡£
ÏÖÔÚ£¬ÎÒÃèÊöһϱ¾ÎÄÌÖÂ۵ķ¶Î§¡£
¹¹½¨Ê¾Àý

»ã±à£º

GAS£º
as –o program.o program.s

NASM£º
nasm –f elf –o program.o program.asm

Á´½Ó£¨¶ÔÓÚÁ½ÖÖ»ã±àÆ÷ͨÓã©£º

ld –o program program.o

ÔÚʹÓÃÍⲿ C ¿âʱµÄÁ´½Ó·½·¨£º

ld –-dynamic-linker /lib/ld-linux.so.2 –lc –o
program program.o

±¾ÎÄÌÖÂÛ£º
NASM ºÍ GAS Ö®¼äµÄ»ù±¾Óï·¨²îÒì
³£ÓõĻã±à¼¶½á¹¹£¬±ÈÈç±äÁ¿¡¢Ñ­»·¡¢±êÇ©ºÍºê
¹ØÓÚµ÷ÓÃÍⲿ C Àý³ÌºÍʹÓú


Ïà¹ØÎĵµ£º

SVN°æ±¾¹ÜÀí±Ê¼Ç£¨Linux£©

Ò»¡¢       
SVN
·þÎñÆ÷»·¾³µÄ´î½¨
ÎÒÃÇ¿ª·¢µÄÏîÄ¿ÊôÓÚ»ùÓÚ
ARM9
ºË
linux
ϵͳµÄǶÈëʽ¹ÜÀíÈí¼þ£¬Õû¸ö¿ª·¢±àÒë»·¾³±ØÐëÊÇÔÚ
linux
ÏÂÃæ¡£Òò´Ë£¬
SVN
·þÎñÆ÷µÄ»·¾³Ò²±ØÐëÊÇÔÚ
linux
ϵͳ¡£
ÏÖÓеķþÎñÆ÷»·¾³£º²Ù×÷ϵͳ£º
Redhat Linux AS4U4
£¬Äں˰汾Ϊ£º
2.6.13
......

linuxÆô¶¯ÅäÖÃ

Æô¶¯ÅäÖãº
/etc/init.d/rcS
 
# mkfs.jffs2 -r yyfs/ -o yy.jffs2 -p -l -n -e 0x8000 -m size 
ÄÚºËÆô¶¯ÏÔʾ£º
unable to open an initial console.
 
½â¾ö£º
´´½¨rootfs¹ý³ÌÖУ¬ÔÚ/devĿ¼ÏÂÊÖ¶¯´´½¨ÈçϽڵ㣺
mknod -m 660 null c 1 3
mknod -m 660 console c 5 1
Taking the GNU/Linux hos ......

linuxÄÚºËcryto½Ó¿ÚµÄʵÏÖÒÔ¼°ÓëopensslµÄ±È½Ï

linuxÄÚºËʵÏÖÁËcrypto½Ó¿Ú£¬ÓÃÓÚÀàËÆIPSecÖ®ÀàÒªÔÚÄÚºËÖÐʵÏÖµÄÓë²Ù×÷ϵͳ°ó¶¨µÄ°²È«»úÖÆ£¬Èç¹û²»ÊÇÓÃÓÚÕâÑùµÄ»úÖÆ£¬²»ÒªÊ¹ÓÃÄÚºËÖеÄcrypto½Ó¿Ú£¬×ܵÄÀ´Ëµ£¬linuxµÄcryptoÖÐ×îÖØÒªµÄ½á¹¹ÌåÓÐÁ½¸ö£ºcrypto_tfmºÍcrypto_alg
struct crypto_tfm {
    u32 crt_flags;
    union {
 & ......

linuxÄÚºËnetfilterµÄʵÏÖÒÔ¼°ipset

netfilterµÄʵÏÖ»úÖÆ»ùÓÚËĸö²ã´ÎµÄÆ¥Å䣬Êý¾Ý°üÔÚÿ¸ö²ã´Î¶¼Òª¾­¹ýÒ»¸ö¹ýÂËÁ´±í£¬µÚÒ»¸ö²ã´Î¾ÍÊÇhook£¬ÖÚËùÖÜÖªlinuxÄÚºËÖÐÒ»¹²ÓµÓÐ5¸öhooks£¬µ±È»ÄãÒ²¿ÉÒÔ×Ô¼ºÐÞ¸ÄÄÚºËÔÚÈκεط½Ìí¼Óhook£»µÚ¶þ¸ö²ã´Î¾ÍÊÇÿ¸öhookÏÂÃæµÄtables£¬Ã¿Ò»¸öhook¶¼¹ý¹ÒÔØÁã¸ö»òÕßÈô¸É¸ötables£¬Êý¾Ý°üÒªÒ»¸öÒ»¸ö¾­¹ýÕâЩtables£»µÚÈý¸ö²ã´Î¾ÍÊÇ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ