22018, 1/1101 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   pkdo1030
   http://h00ker.tistory.com
   ¸®´ª½º Çì´õÆÄÀÏ¿¡ °üÇØ

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=35328 [º¹»ç]


Ä¿³Î ºÐ¼®Çϸ鼭 ¸ð¸£´Â Çì´õÆÄÀϵéÀÌ ÀÜ¶à ³ª¿Í¼­ ã¾Æº¸´Âµ¥ ¾Ö¸Ô°íÀÖ½À´Ï´Ù. ¾î¶² Çì´õÆÄÀÏÀ» include ½ÃŰ¸é ¾î¶°ÇÑ ÇÔ¼ö¸¦ ¾µ ¼ö ÀÖ´ÂÁö
±¸±Û¿¡ ±× Çì´õÆÄÀÏ¿¡ ´ëÇØ °Ë»öÇØºÁµµ ±¹³»ÀÚ·á´Â ¾ø°í ÇØ¿ÜÀÚ·á µé¾¥¼Åµµ ¼Ò½ºÄÚµåÁ¤µµ¹Û¿¡ ¾È³ª¿À³×¿ä;; Á» µµ¿ÍÁÖ¼ÌÀ¸¸é ÇÕ´Ï´Ù.

  Hit : 7906     Date : 2017/08/22 03:25



    
±è´äº¯ µµ¿Íµå¸®·Á¸é ¾î¶² Çì´õÆÄÀϵéÀ» ¸ð¸£½Ã´ÂÁö, ±× Çì´õÆÄÀÏÀ» ÀÎŬ·çµå½ÃÄѼ­ ¾î¶°ÇÑ ÇÔ¼ö¸¦ ¾²°í ½ÍÀ¸½ÅÁö¸¦ °°ÀÌ ½áÁÖ¼Å¾ß Á¶±ÝÀÌ¶óµµ µµ¿Íµå¸±¼ö ÀÖ±äÇѵ¥
http://elixir.free-electrons.com/linux/latest/source
¿©±â°¡ Ä¿³Î¼Ò½º °Ë»öÇϱ⿣ Á¦ÀÏ À¯¸íÇϰí ÁÁÀº »çÀÌÆ®ÀÔ´Ï´Ù Çì´õÆÄÀÏ ¸µÅ©´Â ¾øÁö¸¸ ±»ÀÌ Çì´õÆÄÀÏÀÌ ¾Æ´Ï¶ó ÇÔ¼ö ±¸ÇöÀ» º¸°í½ÍÀ¸½Å°Å¶ó¸é ÇÔ¼ö´Â ´Ù ¸µÅ©µÅÀÖ½À´Ï´Ù. ±× ÇÔ¼ö°¡ Á¤ÀÇµÈ Çì´õÆÄÀϵµ¿ä
2017/08/22  
pkdo1030 ÀÏ´Ü ÇöÀç ºÐ¼®ÇϰíÀÖ´Â misc.c¿¡ ÀÎŬ·çµåµÈ asm/uaccess.h ¿Í asm/addrspace.h ÀÔ´Ï´Ù 2017/08/22  
pkdo1030 ÇѰ¡Áö ´õ ¿©Âã°í½ÍÀºµ¥, ´ë¹®ÀÚ S°¡ µÚ¿¡¿À´Â È®ÀåÀÚ´Â ¹º°¡¿ä?
¾î¼Àºí¸®¾î·Î Â¥Á®Àִ°Ű°Àºµ¥ .global ÀÌ·± ¿µ¿ª°°Àº ´Ü¾î°¡ ½áÀÖ´õ±º¿ä Áß°£Áß°£¿¡ .text ÀÌ·±½ÄÀ¸·Î¿ä
2017/08/22  
±è´äº¯ .S, .s ÆÄÀϵéÀº ¾î¼Àºí¸®¾î ÆÄÀϵéÀÔ´Ï´Ù
¿ÏÀüÈ÷ ¾î¼Àºí¸®¾î´Â ¾Æ´Ï°í ÄÄÆÄÀÏ·¯¿¡¼­ Áö¿øÇÏ´Â ¹®¹ý¿¡ µû¶ó ÀÛ¼ºµÈ ¾î¼Àºí¸®¾î ÇÁ·Î±×·¥Àε¥
.global ~~~ Àº ÀÌ ½Éº¼À» ´Ù¸¥ ÆÄÀÏ¿¡¼­ »ç¿ë °¡´ÉÇÏ°Ô ÇϰڴÙ(Çì´õÆÄÀÏ °³³ä), .text´Â ÀÌ ¾Æ·¡ ³ª¿À´Â ÄÚµå ȤÀº µ¥ÀÌÅÍ´Â ÅØ½ºÆ® ¼½¼Ç¿¡ µé¾î°¡¾ß ÇÑ´Ù. ÀÌ·± Àǹ̵éÀÔ´Ï´Ù

±ÛÀÇ Ã¹ Áú¹®ÀÌ Çò°¥·Á¼­ Çò°¥¸®´Â µÎ°¡Áö ´Ù ´äº¯À» ÇØº¸ÀÚ¸é
1. ¼Ò½ºÄÚµåÁ¤µµ¹Û¿¡ ¾È³ª¿Â´Ù -> ±× Çì´õÆÄÀÏÀ» »ç¿ëÇÏ´Â .c ÆÄÀϹۿ¡ ãÀ»¼ö ¾ø´Ù
ã°í°è½Ã´Â Çì´õÆÄÀϵéÀº arch/[¾ÆÅ°ÅØÃÄ]/include/asm/ ¿¡ ÀÖ½À´Ï´Ù
-> À̰Ŵ ±×³É uaccess.h ¿Í addrspace.h ¸¦ °Ë»öÇØº¸¸é ÀÓÀÇÀÇ Ä¿³Î¹öÁ¯ÀÇ ÀÓÀÇÀÇ ¾ÆÅ°ÅØÃÄ¿¡ ´ëÇÑ Çì´õÆÄÀÏ °æ·ÎµéÀÌ ³ª¿É´Ï´Ù. ±×°É º¸½Ã°í ¿øÇϽô Ŀ³Î¹öÁ¯°ú ¾ÆÅ°ÅØÃÄ¿¡¼­ ã¾Æº¸½Ã¸é µË´Ï´Ù

2. Çì´õÆÄÀÏ ÀÚü¿¡ ´ëÇÑ ¹®¼­¸¦ ã¾Æº¸°í ½Í´Ù, Áï Çì´õÆÄÀÏ¿¡ ¾î¶² ÇÔ¼öµéÀÌ ÀÖ´ÂÁö, ±× Çì´õÆÄÀÏÀº ¾îµð¼­ »ç¿ëµÇ´ÂÁö µî,
»ç½Ç ÀÌ·± Á¾·ùÀÇ Àǹ®À» ÇØ°áÇϱâ´Â ½±Áö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇÏ¸é ±â´ÉÀÇ Çʿ䰡 À־ Äڵ尡 ÀÛ¼ºµÈ°ÍÀÌÁö Äڵ尡 ÀÛ¼ºµÈ ÈÄ ±×°É »ç¿ëÇÏ´Â ±â´ÉµéÀÌ »ý°Ü³­°Ô ¾Æ´Ï±â ¶§¹®ÀÌÁÒ
±×·¡¼­ º¸Åë ¹®¼­µé¿¡¼­´Â ¾î¶² ±â´ÉÀ» »ç¿ëÇÏ°í ½ÍÀ¸¸é ¾î¶² Çì´õÆÄÀÏÀ» ÀÎŬ·çµåÇÏ°í ¾î¶² ÇÔ¼ö¸¦ È£ÃâÇϼ¼¿ä. ¶ó´Â ½ÄÀ¸·Î ÀûÇôÀÖ½À´Ï´Ù

Áö±Ý ¸·¿¬È÷ ¼Ò½ºÄÚµå ÆÄÀϵéÀ» ÇϳªÇϳª Àо½Ã´Â °Í °°Àºµ¥,
https://www.kernel.org/doc/html/latest/
¸®´ª½º Ä¿³Î °ø½Ä¹®¼­¸¦ º¸½Ã¸é¼­ °øºÎÇϽô °É Ãßõµå¸³´Ï´Ù

https://www.kernel.org/doc/ <- ¿©±âµµ ÁÁ¾Æ¿ä
2017/08/23  
pkdo1030 °¨»çÇÕ´Ï´Ù. ¿ì¼±ÀûÀ¸·Î ¼Ò½ºÄÚµåºÎÅÍ ºÐ¼®À» ½ÃÀÛÇߴµ¥ ´äº¯´Ô µµ¿ò´ö¿¡ ¾î´ÀÁ¤µµ ¹æÇâÀ» Àâ´Â°Å°°½À´Ï´Ù. 2017/08/23