http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=2224 [º¹»ç]
ÀÌ·±.. ½Ç¼ö·Î ·¹º§ ÇØÅ· °ü·Ã Áú¹® °ÙÆÇ¿¡ ¿Ã·È¾ú³×¿ä..
¸Ó¾û..
/------------------------------------------------------------------------------
¿©ÀüÈ÷ Ä¿³Î¸¸µå´À¶ó »ðÁúÁßÀÎ(¤Ð) ¹Ùº¼ÀÌÀÔ´Ï´Ù.
ÇöÀç ¸ÖƼŽºÅ· ºÎºÐÀ» °øºÎÁßÀε¥ Áú¹®°Å¸®°¡ »ý°å¾î¿ä.
¾î¶² Ã¥À» Àд µµÁß ½ºÀ§Äª ŽºÅ·ºÎºÐÀ» ¾î¼ÀÀ¸·Î µû·Î¸¸µé°í C¿¡¼ È£ÃâÇÏ´Â ºÎºÐÀÌ ÀÖ¾ú½À´Ï´Ù.
// CºÎºÐ
void farjmp ( int eip, int cs );
farjmp ( 0, cs );
//
// ¾î¼ÀºÎºÐ
_farjmp:
jmp far [esp+4] ; [esp+4] ~ [esp+7]±îÁö eip º¯¼öÀÇ °ªÀÌ, [esp+8]ºÎÅÍ cs º¯¼öÀÇ °ªÀÌ µé¾î°¥°Å¶ó°í »ý°¢µË´Ï´Ù.
; ¿©±âµµ Âü ¿ô±ä°Ô ¿Ö ÇÏÇÊ csº¯¼ö Å©±â°¡ 4¹ÙÀÌÆ®ÀÎÁö¿ä..
; ¹¹ ¸®Æ² ¿£µð¾ðÀ̶ó Á¦´ë·Î µ¹¾Æ°¡±â´Â ÇÏ´Â°Í °°½À´Ï´Ù¸¸..
ret
¿©±â¼ Áú¹®ÀÖ½À´Ï´Ù...
ÇÔ¼ö¸¦ È£ÃâÇÒ¶§, ¸®ÅÏ ¾îµå·¹½º¿Í ÀμöµéÀ» ½ºÅÿ¡ ³Ö°í È£ÃâÇÏÀݾƿä?
±×·±µ¥ farjmp ¿¡¼ ±×³É Á¡ÇÁ¸¦ Çعö¸°´Ù°í Çϸé(ŽºÅ©¸¦ ½ºÀ§ÄªÇϸé) ½ºÅÿ¡ µé¾î°£ Àμöµé°ú ¸®ÅϾîµå·¹½ºµéÀÌ Â÷ÁöÇÏ°íÀÖ´Â ¸Þ¸ð¸®°ø°£Àº ¾î¶»°Ô µÇ´Â °ÍÀΰ¡¿ä?
¾ß±Ý¾ß±Ý ¸Þ¸ð¸®¸¦ ¸Ô°í¼± ³ªÁß¿¡ ¿À·ù°¡ ³ª´Â°Ç ¾Æ´ÒÅ×°í ¸»ÀÔ´Ï´Ù..
Á¦°¡ »ý°¢Çغ»°Ô
1. ŽºÅ©°¡ ½ºÀ§Ä¡µÇ¸é¼ ·¹Áö½ºÅ͵éÀÌ Àӽà ÀúÀåµÈ´Ù.
2. ³ªÁß¿¡ ´Ù½Ã ÀÌ ÄÚµåºÎºÐÀ¸·Î ŽºÅ©°¡ ´Ù½Ã ½ºÀ§ÄªµÈ´Ù.
3. ·¹Áö½ºÅ͵éÀÌ º¹±¸µÈ´Ù.
4. ret À» ¸¸³ª ¸®ÅϵȴÙ.
5. add esp, 8 ·Î ½ºÅÃÀÌ ¿ø·¡´ë·Î µÈ´Ù.
Àε¥ ÀÌ°Ô °ú¿¬ ¸ÂÀ»±î¿ä?
¸¸¾à ¸Â´Ù°í ÇÒ¶§, ±× ¿ø·¡ÀÇ Å½ºÅ©·Î ´Ù½Ã ½ºÀ§Ä¡ µÇÁö ¾ÊÀ¸¸é ½ºÅú¹±¸°¡ ¾ÈµÇ´Â °ÍÀϱî¿ä?
..Á¦°¡ ¹Ì¼÷ÇؼÀÎÁö ÀÎÅͳÝÀ» µÚÁ®ºÁµµ ÀÚ·áã±â°¡ Èûµé´õ¶ó±¸¿ä. ÈæÈæ
««È÷ Ä¿³Î¸¸µå´Â °øºÎ¸¦ ÇÑÁö ¸î °³¿ù Á¤µµ Áö³µ´Âµ¥ ¾ðÁ¦ ³¡³¯Áö ¸ð¸£°Ú½À´Ï´Ù..
ÇãÇã... ±×·¡µµ ´öºÐ¿¡ ¾î¼ÀÇÏ°í C ÄÚµù½Ç·ÂÀÌ ´À´Â±º¿ä..
ÀÌÁ¦ °í3À̶ó °ø.ºÎ.¿¡ ½Å°æ½á¾ßµÇ´Âµ¥ ´ÙÀ½ ÇØ°¡ µÇ±âÀü¿¡ (´ëÃ游µç dummy OS¶óÁö¸¸) ¿Ï¼ºÇغ¸°í ½Í³×¿ä..
PS1.
Á¾ÀÌ¿¡ ÄÚµùÇÏ°í Á¾ÀÌ·Î µð¹ö±×ÇÏ´Â ¹ýÀ» ¾Æ½Ê´Ï±î? ǪÄg
PS2.
8272A ÄÁÆ®·Ñ·¯ ´ø°¡? ±× Ç÷ÎÇÇ µð½ºÄÏ ÄÁÆ®·Ñ·¯ »ç¿ë¹ýÁ» ¾Ë·ÁÁÖ¼¼¿ä¤Ð |
Hit : 3025 Date : 2009/12/20 06:02
|