|
|
|
|
|
|
2009-09-27 (15:01:20), Á¶È¸¼ö : 627 |
| Á¦¸ñ
: À©µµ¿ì ME - kernel32.dll ¿À·ù ÇØ°á¹æ¹ý |
|
|
|
- .dll ÆÄÀϰü·Ã À©µµ¿ì´Â ¿©·¯°³ÀÇ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Â ¸ÖƼ ÇÁ·Î¼¼½º ¿î¿µÈ¯°æÀ» äÅÃÇϰí ÀÖ ½À´Ï´Ù. ¸ÖƼ ÇÁ·Î¼¼½ºÀÇ ±¸¼ºÀº ¸¹Àº ´É·Â°ú º¹ÀâÇÑ ÀýÂ÷µéÀ» ÇÊ¿ä·Î ÇÏ´Â ¹ø°Å·Î¿ò ÀÌ ÀÖÁö¸¸ ±×¿¡ µû¸¥ ÀåÁ¡µµ ¸¹ÀÌ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¿©·¯°³ÀÇ ÇÁ·Î±×·¥ÀÌ °°Àº ±â´ÉÀÇ ÇÁ·Î±×·¥ Äڵ带 ÇÊ¿ä·Î ÇÑ´Ù¸é ±× ÄÚµå ºÎºÐÀ» ¼·Î °øÀ¯ÇÒ ¼ö ÀÖµµ·Ï Ưº°ÇÏ°Ô Ã³¸® ÇÏ ¸é °á±¹ °øÀ¯µÈ Ƚ¼ö¸¸ÅÀÇ ¸Þ¸ð¸®¸¦ ¾Æ³¥ ¼ö ÀÖÀ¸¸ç ±× ¿Ü¿¡µµ ¿©·¯°³ÀÇ ÇÁ·Î±×·¥µé ÀÌ ÀÚ·áµµ ¼·Î ±³È¯ÇÏ¸é¼ µ¿ÀÛÇϴ ȯ°æÀ» ±¸¼ºÇÏ´Â °Íµµ °¡´ÉÇÏ°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» À©µµ¿ì¿¡¼´Â DLL(Dynamic Link Library, µ¿Àû ¿¬°á ¶óÀ̺귯¸®), DDE (Dynamic Data Exchange, µ¿Àû ÀÚ·á ±³È¯)¶ó°í ºÎ¸¨´Ï´Ù. ¶ÇÇÑ À©µµ¿ì¿¡¼´Â ÇϳªÀÇ ÀÀ ¿ë ÇÁ·Î±×·¥¿¡¼ Á¢±Ù °¡´ÉÇÑ ¿©·¯ °¡Áö Á¾·ùÀÇ ÀڷḦ ó¸®ÇÒ ¶§ ÀÚ·áÀÇ Á¾·ù¿¡ µû¶ó ´Ù ¸¥ ÀÛ¾÷ÀÌ ÇÊ¿äÇѵ¥ ÀÌ ¸ðµç 󸮸¦ ÇϳªÀÇ ÇÁ·Î±×·¥¿¡¼ ÇÏ´Â °ÍÀº ½¬¿î ÀÏÀÌ ¾Æ´Õ´Ï ´Ù. ÀÌ¿Í °°Àº ÀÚ·á¿¡ ´ëÇÑ Ã³¸®¸¦ ±¸ºÐÇÏ´Â ¹æ¹ý ³»Áö´Â ´É·ÂÀ» OLE(Object Linking and Embedding)¶ó°í ºÎ¸¨´Ï´Ù. ±×·¯¸é DLL¿¡ ´ëÇØ Á»´õ ÀÚ¼¼È÷ ¾Ë¾Æº¸°Ú½À´Ï´Ù. ÀϹÝÀûÀ¸·Î µµ½º¿ë ¾ð¾î¿¡¼ ÇÁ·Î±× ·¥µéÀ» ÄÄÆÄÀÏÇÏ¿© ½ÇÇàÇÏ·Á¸é ¿ì¼± ¼Ò½ºÇÁ·Î±×·¥À» ÄÄÆÄÀÏ¿¡¼ Object ÆÄÀÏÀ» ¸¸µé°í ´Ù½Ã »ý¼ºµÈ ¸ñÀû ÇÁ·Î±×·¥À» ½ÇÇàÇϴµ¥ ÇÊ¿äÇÑ ¶óÀ̺귯¸®¸¦ ¿¬°á½ÃÄÑ ¸µÅ©Çؼ EXEÆÄÀÏ µîÀ» ¸¸µç ÈÄ¿¡ ½ÇÇà½ÃŰ´Â °ÍÀÌ Á¤¼®ÀÔ´Ï´Ù. ±×·¯³ª À©µµ¿ì¿¡¼´Â ÇÊ¿äÇÑ ¶ó ÀÌºê ·¯¸®¸¦ ½ÇÇà ½Ã°£(run time)¿¡ ¸Þ¸ð¸®¿¡¼ ¸µÅ©½Ãų ¼ö Àִµ¥ ÀÌ·¯ÇÑ ±â´É ¶Ç´Â ±× ±â´É À» Á¦°øÇÏ´Â ¶óÀ̺귯¸®¸¦ DLL À̶ó°í ºÎ¸£´Â °ÍÀÔ´Ï´Ù. À©µµ¿ì¿¡¼ ÀÌ·¯ÇÑ Á¾·ùÀÇ ÆÄÀϵéÀº DLLÀ̶ó´Â È®ÀåÀÚ¸¦ °¡Áö´Âµ¥ À©µµ¿ìÀÇ ½Ã½ºÅÛ µð ·ºÅ丮¿¡ ÀÖ´Â KERNEL.EXE, GDI.EXE, USER.EXEµµ ½ÇÁ¦·Î´Â DLLÀÌ¸ç °¢°¢ ÇÁ·Î¼¼½º °ü¸®, ±×·¡ÇÈó¸® ¸í·É µîÀ» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ¶Ç ±Û¾¾¿¡ ¸ð¾ç¸¸ ÀúÀåµÇ´Â È®ÀåÀÚ·Î FNT¸¦ °¡Áö´Â ÆÄÀϰú´Â ´Þ¸® FONÀ̶ó´Â È®ÀåÀÚ¸¦ °¡Áö´Â ÆÄÀϵµ ÀÏÁ¾ÀÇ ±Û¾¾Ã¼ Àü¿ë DLL·Î ±× ±Û¾¾Ã¼°¡ ÇÊ¿äÇÒ ¶§ ¸µÅ©µÇ´Â DLLÆÄÀÏÀÔ´Ï´Ù. DLLÀÇ ÀÀ¿ë ¿ëµµ¿¡ ´ëÇØ »ý°¢ÇØ º¸¸é, À©µµ¿ì³»¿¡¼ °°Àº DLLÀ» ¿©·¯°³ÀÇ ÇÁ·Î±×·¥ÀÌ »ç¿ëÇϰíÀÚ Çϸé À©µµ¿ì¿¡¼´Â ÇÑ °³ÀÇ DLL¸¸ ¸Þ¸ð¸®¿¡ ¿Ã·Á ³õ°í ¿©·µÀÌ ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖµµ·Ï 󸮸¦ Çϱ⠶§¹®¿¡ ±×¸¸Å ¸Þ¸ð¸®¸¦ ¾Æ³¥ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. - kernel32.dll¿À·ùÇØ°á À©µµ¿ìÁ »ç¿ëÇÏ´Ù º¸¸é °¡²û »ç¿ëÀÚ·Î ÇÏ¿©±Ý ¾îÂîÇÒ ¼ö ¾ø´Â ¿¡·¯ ¸Þ½ÃÁö(À߸øµÈ¿¬ »ê¿À·ù¸Þ¼¼Áö)°¡ ¶á´Ù. À̹ø¿¡´Â ±× Áß¿¡¼ Kernel32.dll ¿¡·¯¿¡ ´ëÇØ¼ ¾Ë¾Æº¸ÀÚ. Kernel32 ¿¡·¯¶ó´Â °ÍÀº »ç¿ëÀÚÀÇ È¯°æ¿¡ ¾à°£ÀÇ ÀÌ»óÀÌ »ý±æ¶§ ³ªÅ¸³ª´Â °íÁúÀû ¿À·ù ·Î¼, À̸¦ ÇØ°áÇϱâ¶õ ½±Áö ¾Ê´Ù. µû¶ó¼ Kernel32 ¿¡·¯°¡ ÀϾ´Â ȯ°æÀÌ ¾î¶²°ÍÀÎÁö, À̸¦ ¾î¶»°Ô °íÃÄ¾ß ¼öÁ¤ÇÒ ¼öÀÖ ´ÂÁö ¹Ì¸® ¾Æ´Â °ÍÀÌ ÃÖ¼±ÀÇ ¿¹¹æÃ¥ÀÌ´Ù. Kernel32 ¿¡·¯°¡ ³ªÅ¸³ª´Â ȯ°æÀº ´ÙÀ½°ú°°ÀÌ Å©°Ô ´Ù¼¸ °¡Áö·Î ³ª´©¾î º¼ ¼ö ÀÖ´Ù. ¨ç À߸øµÈ ¸Þ¸ð¸® °ü¸®ÀÚ ·Îµù ¸í·É C:ÀÇ config.sys¶ó´Â ÆÄÀÏ¿¡ ¸Þ¸ð¸® °ü¸®ÀÚ¸¦ ·ÎµùÇÒ ¼ö ÀÖ´Â ¸í·É¾î¸¦ »ðÀÔÇÒ ¼ö ÀÖ´Ù. ÀÌ ¶§ »ðÀÔµÈ ¸Þ¸ð¸® °ü¸®ÀÚ ·Îµù ¸í·É¾î ¶§¹®¿¡ Kernel32.dll ¿À·ù°¡ ¹ß»ýÇÒ¼ö ÀÖ´Ù. ´ëÇ¥ÀûÀÎ ¿¹°¡ 'DEVICE=C:WINDOWSHIMEM.SYS /TESTMEM:ON'ÀÌ´Ù. ¸¸¾à ÀÚ½ÅÀÇ config.sys ÆÄÀÏ¿¡ ÀÌ·¯ÇÑ Á¾·ùÀÇ ¸í·É¾î°¡»ðÀԵǾî ÀÖ´Ù¸é ¸ðµÎ Áö¿ì±â ¹Ù¶õ´Ù. À©µµ 98 ÀÇ ½Ãµ¿¿¡´Â ÀÌ·¯ÇÑ ¸Þ¸ð¸® °ü¸®ÀÚ ·Îµù ¸í·ÉÀ» µû·Î ÁÙ Çʿ䰡 ÀüÇô ¾ø´Ù. ¨è ¹«¸®ÇÑ ¿À¹öŬ·ÎÅ· CPU°¡ °ßµðÁö ¸øÇÒ Á¤µµÀÇ ¿À¹öŬ·ÎÅ·À» °ÇàÇß´Ù¸é ´ç¿¬È÷ ½¯»õ¾øÀÌ kernel32.dll ¿¡·¯ °¡ ¶ã °ÍÀÌ´Ù. ´ëºÎºÐÀÇ Kernel32.dll ¿¡·¯°¡ ÀÌ ¶§¹®¿¡¹ß»ýÇϹǷÎ, ¿À¹öŬ·ÎÅ·À» Çß´Ù ¸é ¹Ýµå½Ã ¿ø·¡ÀÇ À§Ä¡·Î ȯ¿ø½ÃÄÑ¾ß ÇÑ´Ù. ¹«¸®ÇÑ ¿À¹öŬ·ÎÅ·Àº ½ÉÇÑ °æ¿ì µ¥ÀÌÅ͸¦ ¸ð µÎ ÀÒ¾î¹ö¸®´Â »óȲÀ¸·Î ¹ßÀüÇÒ ¼ö ÀÖ´Ù. ¨é ±×·¡ÇÈ °¡¼Ó ±â´ÉÀÌ ÃÖ°í·Î µÇ¾î ÀÖÀ» °æ¿ì ¿äÁò Ãâ½ÃµÇ´Â ±×·¡ÇÈ Ä«µåµéÀº º° ¹®Á¦°¡ ¾øÁö¸¸, °ú°ÅÀÇ ¸ðµ¨ Áß¿¡´Â ±×·¡ÇÈ °¡¼Ó ±â ´ÉÀ» ÃÖ´ë·Î ÇßÀ» ¶§ ½Ã½ºÅÛ¿¡ ½É°¢ÇÑ ¾Ç¿µÇâÀ» ³¢Ä¡´Â °ÍµéÀÌ ÀÖ´Ù. ÀÌ ¶§´Â ±×·¡ÇÈ Ä« µå ÀÇ °¡¼Ó ±â´ÉÀ» ÇÑ ´Ü°è ³·Ãç¼ »ç¿ëÇÒ °ÍÀ» ±ÇÇÑ´Ù. ±×·¡ÇÈ Ä«µåÀÇ °¡¼Ó ±â´ÉÀ» ³·ÃçÁÖ·Á¸é, '½Ã½ºÅÛ µî·Ï Á¤º¸'¸¦¿¬ ´ÙÀ½ '¼º´É' ÅÇÀ» ¸¶¿ì ½º ¿ÞÂÊ ¹öưÀ¸·Î Ŭ¸¯ÇÑ´Ù. ±×·± ´ÙÀ½ °í±Þ ¼³Á¤¿¡ ÀÖ´Â '±×·¡ÇÈ' ¹öưÀ» ´©¸£¸é ±×·¡ ÇÈ º¸µåÀÇ °¡¼Ó ±â´ÉÀ» Á¶ÀýÇÒ ¼ö ÀÖ´Ù. ¨ê ¼Õ»óµÇ°Å³ª À¯È¿ ±â°£ÀÌ Áö³ µå¶óÀ̹ö¸¦ »ç¿ëÇÏ´Â °æ¿ì ±×·¡ÇÈ Ä«µåÀÇ µå¶óÀ̹ö°¡ ÀϺΠ¼Õ»óµÇ¾ú°Å³ª µå¶óÀ̹ö ÆÄÀÏÀÇ À¯È¿ ³¯Â¥°¡ Áö³ °æ¿ì ¿¡µµ Kernel32.dll ¿¡·¯°¡ ÀϾ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì¿¡´Â Ç×»ó ÃÖ½ÅÀÇ µå¶óÀ̹ö·Î ±×·¡ÇÈ Ä« µå¸¦ ±¸µ¿½Ãų ¼ö¹Û¿¡ ¾ø´Ù. ÀÌ¿¡ ÇØ´çÇÏ´Â ºñµð¿À Ä«µå´Â ±ØÈ÷ ÀϺÎÀÌÁö¸¸, ¿©·¯ »ç¿ë ÀÚ¿¡°Ô ÀÎÁõµÈ È®½ÇÇÑ Çϵå¿þ¾î¸¦ »ç¿ëÇÏ´Â °Í¸¸ÀÌ ¹®Á¦¸¦ ¿¹¹æÇÏ´Â Áö¸§±æÀÌ´Ù. ¨ë CPU³ª Àü¿ø ÀåÄ¡ÀÇ È¿À²ÀÌ ¶³¾îÁú °æ¿ì ÆæÆ¼¾ö±Þ ÀÌ»óÀÇ CPU¸¦ »ç¿ëÇÏ´Â »ç¶÷Àº ´ëºÎºÐ Ä𷯸¦ ÀåÂøÇϰí ÀÖ´Ù. ¶ÇÇÑ Àü¿ø °ø ±Þ ÀåÄ¡¿¡µµ ¹Ù¶÷À» ¹ÛÀ̳ª¾ÈÀ¸·Î ¹èÃâÇϱâ À§ÇÑ ÆÒÀÌ ÀÖ´Ù. ¹®Á¦´Â»ç¿ë ±â°£ÀÌ ¿À·¡ µÇ ¸é Ä𸵠ÆÒÀ̳ª ÆÄ¿öÀÇÆÒ¿¡ ¸ÕÁö°¡ ³¢°Ô µÈ´Ù´Â °ÍÀÌ´Ù. ±×·¸°Ô µÇ¸é ÆÒÀÇ ¹«°Ô°¡ ¹«°Å ¿öÁ® ȸÀü ¼Óµµ°¡ ÇöÀúÇÏ°Ô ¶³¾îÁö°í, °á±¹ ³Ã°¢ ±â´Éµµ ¶³¾îÁø´Ù. ¿ÀÌ ¹èÃâµÇÁö ¾ÊÀ¸¸é CPUÀÇ ¿Âµµ´Â ¿Ã¶ó°¥ °ÍÀÌ ºÐ¸íÇϰí, Àü¿ø °ø±Þ ÀåÄ¡ ¿ª½Ã Á¦´ë ·Î Àü¿øÀ» °ø±ÞÇØ ÁÖÁö ¸øÇÑ´Ù. ÀÌ´Â ¹«¸®ÇÑ ¿À¹öŬ·ÎÅ· ¶§¹®¿¡ CPUÀÇ ¿Âµµ°¡³ô¾ÆÁö ´Â Çö»ó°ú µ¿ÀÏÇÏ´Ù. ´ç¿¬È÷ À©µµ´ÂKernel32.dll ¿¡·¯¸¦ Ç¥½ÃÇÒ °ÍÀÌ ºÐ¸íÇÏ´Ù. µû¶ó¼, °¡ ²û ÆÒ¿¡ ºÙÀº ¸ÕÁö¸¦ Á¦°ÅÇØÁÖ´Â °Íµµ ½Ã½ºÅÛÀ» °Ç°ÇÏ°Ô »ç¿ëÇÏ´Â ÇÑ ¹æ¹ýÀÌ µÈ´Ù.
|
|
Ãßõ ÄÄÇ»ÅÍ ¼Àû |
|
|
|
|
|
|
|
|
|
|
|
|