Áö³ ½Ã°£¿¡ SetWindowsHookEx() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ¸Þ½ÃÁö ÈÄÅ·¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. Áö³ ½Ã°£¿¡ °øºÎÇÑ °ÍÀº ÇÑ ÇÁ·Î¼¼½º¸¦ ´ë»óÀ¸·Î ¸Þ½ÃÁö¸¦ ÈÄÅ·ÇÏ´Â °ÍÀÌ¿´½À´Ï´Ù. ±× ¶§ Àü¿ª ÈÅÀ̶ó´Â °ÍÀ» ÀÌ¿ëÇÏ¸é ¿©·¯ ÇÁ·Î¼¼½º¸¦ µ¿½Ã¿¡ ÈÄÅ·ÇÒ ¼ö ÀÖ´Ù°í À̾߱⸦ ÇÏ¿´½À´Ï´Ù. SetWindowsHookEx() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ Àü¿ª ÈÅÀ» ÇÏ´Â ¹æ¹ý¿¡´Â µÎ °¡Áö°¡ ÀÖ½À´Ï´Ù. Çϳª´Â DLL InjectionÀ» ÀÌ¿ëÇØ¼ Àü¿ª ÈÅÀ» ÇÏ´Â °ÍÀÌ°í ´Ù¸¥ Çϳª´Â Àú¼öÁØ(Low Level)¿¡¼ ÈÅÀ» ÇÏ´Â °ÍÀÔ´Ï´Ù.
DLL InjectionÀ» ÀÌ¿ëÇÏ´Â Àü¿ª ÈÅ¿¡ ´ëÇØ¼ ¼³¸íÀ» µå¸®µµ·Ï ÇϰڽÀ´Ï´Ù. DLL InjectionÀº ¸» ±×´ë·Î DLLÀ» »ðÀÔÇÕ´Ï´Ù. ±× ´ë»óÀº ¹Ù·Î ÇÁ·Î¼¼½ºÁÒ. ÇÁ·Î±×·¥À» ½ÇÇà½Ã۸é ÇÁ·Î±×·¥ÀÌ ½ÇÇàÇϴµ¥ ÇÊ¿äÇÑ DLLÀ» ÇÔ²² ·ÎµùÀ» ÇÕ´Ï´Ù. ³ªÁß¿¡ ÇÊ¿äÇÑ DLLÀÌ ÀÖ´Ù¸é ÇÊ¿äÇÒ ¶§ ·ÎµùÀ» ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¾Æ·¡ ±×¸²Àº ÇÑ ÇÁ·Î¼¼½º¿¡ ·ÎµùµÇ¾î ÀÖ´Â DLLµéÀ» º¸¿©ÁÝ´Ï´Ù. Process ExplorerÀ» ÀÌ¿ëÇÏ¿´½À´Ï´Ù.
±×¸² 1. ÇÁ·Î¼¼½º¿¡ ·ÎµùµÇ¾î ÀÖ´Â DLL
- Name : ÇÁ·Î¼¼½º(YMini.exe)¿¡ ·ÎµùµÇ¾î ÀÖ´Â ÆÄÀϵéÀÇ À̸§
- Description : ÆÄÀÏ¿¡ ´ëÇÑ ¼³¸í
- Company Name : ÆÄÀÏÀ» ¸¸µç ȸ»ç À̸§
- Version : ÆÄÀÏ ¹öÀü
- Size : ¸Þ¸ð¸®¸¦ Â÷ÁöÇÏ´Â Å©±â
- Image Base : ¸Þ¸ð¸®¿¡ ·ÎµùµÉ ¶§ ½ÃÀÛ À§Ä¡
À§ ±×¸²À» º¸½Ã¸é ÇÁ·Î¼¼½º(YMini.exe)¿¡ ·ÎµùµÇ¾î ÀÖ´Â ¿©·¯ dll ÆÄÀϵéÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ±×·³ DLLÀº ¹«¾ùÀÌ¸ç ¿Ö ÇÊ¿äÇÒ±î¿ä? ÇÁ·Î±×·¥À» °³¹ßÇÒ ¶§, ¸ðµç ºÎºÐ¿¡ ´ëÇØ¼ °³¹ßÇÏÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¾î¼ printf() °°Àº ÇÔ¼ö´Â Á÷Á¢ °³¹ßÇÏÁö ¾Ê°í ÀÌ¹Ì °³¹ßµÇ¾î ÀÖ´Â °ÍÀ» °¡Á®´Ù°¡ »ç¿ëÇÕ´Ï´Ù. ±×·¸´Ù¸é printf() ÇÔ¼ö´Â ¾îµð¿¡ ÀÖ´Â °ÍÀϱî¿ä? ¹Ù·Î ¶óÀ̺귯¸® ¾È¿¡ ÀÖ½À´Ï´Ù. ¶óÀ̺귯¸®¶õ printf() ó·³ ÀÚÁÖ ¾²´Â ÇÔ¼öµéÀ» ´Ù¸¥ °÷¿¡¼µµ °øÀ¯ÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ ¸ð¾Æ³õÀº ÄÄÆÄÀÏµÈ ¹ÙÀÌÆ® ÄÚµå µ¢¾î¸®ÀÔ´Ï´Ù. µ¢¾î¸®¶ó´Â Ç¥ÇöÇÑ ÀÌÀ¯´Â ÀϹÝÀûÀ¸·Î ¶óÀ̺귯¸®¿¡ ÇÔ¼ö ÇÑ °³¸¸ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿©·¯ ÇÔ¼ö°¡ Æ÷ÇԵǾî Àֱ⠶§¹®ÀÔ´Ï´Ù.
DLLÀº Dynamic Link LibraryÀÇ ¾àÀÚÀÔ´Ï´Ù. ÇÁ·Î±×·¥ÀÌ ÄÄÆÄÀ쵃 ¶§ ¶óÀ̺귯¸®°¡ ½ÇÇà ÆÄÀÏ¿¡ Æ÷ÇÔÀÌ µÇ´À³Ä, ½ÇÇàÀÌ µÇ°Å³ª ½ÇÇà Áß¿¡ Æ÷ÇÔÀÌ µÇ´À³Ä¿¡ µû¶ó¼ Á¤Àû ¶óÀ̺귯¸®¿Í µ¿Àû ¶óÀ̺귯¸®·Î ³ª´¹´Ï´Ù. DLLÀº ¹Ù·Î ½ÇÇàÀ» Çϰųª ½ÇÇà Áß¿¡ Æ÷ÇÔÀÌ µÇ´Â ¶óÀ̺귯¸®ÀÔ´Ï´Ù. Á¤Àû ¶óÀ̺귯¸®¿Í µ¿Àû ¶óÀ̺귯¸®¿¡ ´ëÇÑ À̾߱â´Â ´ÙÀ½¿¡ ±âȸ°¡ ÀÖÀ» ¶§ ´õ ¼³¸íÀ» Çϱâ·Î Çϰí, Àü¿ª ÈÅÀ» Çϴµ¥ DLLÀ» »ç¿ëÇÏ´ÂÁö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
Àü¿ª ÈÅÀ» ÇÑ´Ù°í ÇßÀ» ¶§ ´ÙÀ½°ú °°Àº °í¹ÎÀ» ÇϰԵ˴ϴÙ. a)¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ÈÅ ÇÁ·Î½ÃÀú¸¦ ¸ðµç ÇÁ·Î¼¼½º¿¡ ¼³Ä¡ÇÒ °ÍÀΰ¡? ¾Æ´Ï¸é b)ÇÑ ÇÁ·Î¼¼½º¿¡¸¸ ÈÅ ÇÁ·Î½ÃÀú¸¦ ¼³Ä¡Çؼ ´Ù¸¥ ÇÁ·Î¼¼½º·Î °¡´Â ¸Þ½ÃÁö¸¦ ¸ðµÎ ¹Þ¾Æ¼ ±× ÂÊ¿¡¼ ó¸®ÇÒ °ÍÀΰ¡? ¹°·Ð ÀÌ °í¹ÎÀº À¯Àú´Ü ÈÄÅ·À» ÇÒ ¶§ ÇÏ´Â °í¹ÎÀÔ´Ï´Ù. Ä¿³Î´Ü¿¡¼ ÈÄÅ·À» ÇÏ¸é ´õ °£´ÜÇØÁö°ÚÁÒ. Áö±Ý Çϰí ÀÖ´Â ÈÄÅ· °ÁµéÀº À¯Àú´Ü¿¡¼ÀÇ ÈÄÅ·À» ´Ù·ç°í ÀÖ½À´Ï´Ù. ¾Æ·¡¿¡¼ »¡°£»ö ¹Ú½º ¾È¿¡ ÀÖ´Â ºÎºÐÀÌ À¯Àú´Ü ÇÁ·Î¼¼½º¿¡¼ ó¸®ÇÏ´Â ºÎºÐÀÔ´Ï´Ù.
±×¸² 2. ÇÁ·Î¼¼½º ºÎºÐ
±×¸®°í a)¿Í b)´Â °¢°¢ ¾Æ·¡¿Í °°½À´Ï´Ù.
±×¸² 3. a) °¢ ÇÁ·Î¼¼½º¿¡ ÈÅ ÇÁ·Î½ÃÀú ¼³Ä¡ ±×¸² 4. b) ÇÑ ÂÊ ÇÁ·Î¼¼½º¿¡¸¸ ÈÅ ÇÁ·Î½ÃÀú ¼³Ä¡
a)ó·³ ÇÏ´Â °ÍÀÌ DLL InjectionÀ̰í b)ó·³ ÇÏ´Â °ÍÀÌ Àú¼öÁØ¿¡¼ ÈÅÇÏ´Â °ÍÀÔ´Ï´Ù. a) ¹æ½Äó·³ °¢ ÇÁ·Î¼¼½º¸¶´Ù ÈÅ ÇÁ·Î½ÃÀú¸¦ ¼³Ä¡ÇÏ·Á¸é DLL InjectionÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. °¢ ÇÁ·Î¼¼½º¿¡ Á÷Á¢ÀûÀ¸·Î Á¢±ÙÀ» ÇÒ ¼ö ¾ø±â ¶§¹®ÀÌÁÒ. ÇÁ·Î¼¼½º°¡ »ý¼ºÀÌ µÉ ¶§ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ »õ·Î »ý¼ºµÇ´Â ÇÁ·Î¼¼½º·Î Á¢±ÙÀ» Á¦ÇÑÇÏ´Â º¸È£¸ðµå·Î »ý¼ºÀ» ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÒ ¶§ º¸È£¸ðµå·Î »ý¼ºÇϸé ÇÑ ÂÊ ÇÁ·Î¼¼½º°¡ À߸øµÇ¾îµµ ´Ù¸¥ ÂÊ¿¡´Â ¿µÇâÀ» ³¢Ä¡Áö ¾Ê¾Æ ¾ÈÀü¼ºÀÌ ³ô¾ÆÁý´Ï´Ù.
ÇÁ·Î¼¼½º°¡ º¸È£¸ðµå¶óµµ ¾È¿¡ Äڵ带 »ðÀÔÇÒ ¿©Áö´Â ÀÖ½À´Ï´Ù. ±× Áß Çϳª°¡ ¹Ù·Î DLL ÀÎÁ§¼ÇÀÔ´Ï´Ù. DLLÀº ÇÁ·Î¼¼½º°¡ ½ÇÇàÁßÀÏ ¶§ µ¿ÀûÀ¸·Î ·ÎµùÀÌ °¡´ÉÇÏ´Ù°í ÇÏ¿´½À´Ï´Ù. DLL ¾È¿¡ ÈÅ ÇÁ·Î½ÃÀú Äڵ带 ³Ö°í, °¢ ÇÁ·Î¼¼½º¿¡ ÈÅ ÇÁ·Î½ÃÀú°¡ ÀÖ´Â DLLÀ» ·ÎµùÇϵµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·³ ¾î¶»°Ô °¢ ÇÁ·Î¼¼½º¿¡ Àü¿ªÈÅÀ» ¼³Ä¡ÇÒ ¼ö ÀÖÀ»±î¿ä? ¹Ù·Î SetWindowsHookEx() ÇÔ¼öÀÇ ¼¼ ¹øÂ° ÀÎÀÚ¸¦ ÀÌ¿ëÇÏ¸é °¡´ÉÇÕ´Ï´Ù. SetWindowsHookEx() ÇÔ¼ö¿¡¼ »ç¿ëÇÏ´Â ÀÎÀÚ¿¡ ´ëÇØ¼ ´Ù½Ã »ìÇ¥º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
HHOOK SetWindowsHookEx(
int idHook,
HOOKPROC lpfn,
HINSTANCE hMod,
DWORD dwThreadId);
- idHook : ¼³Ä¡ÇϰíÀÚ ÇÏ´Â ÈŠŸÀÔ
- lpfn : ÈÅ ÇÁ·Î½ÃÀúÀÇ ¹øÁö
- hMod : ÈÅ ÇÁ·Î½ÃÀú¸¦ °¡Áø ÀνºÅϽºÀÇ ÇÚµé
- dwThreadId : ¸Þ½ÃÁö¸¦ ÈÅÇÒ ¾²·¹µå ¾ÆÀ̵ð
¼¼ ¹øÂ° ÀÎÀÚ´Â ¹Ù·Î dllÀ» °¡¸®Å°´Â ÇÚµéÀÔ´Ï´Ù. °¢ ÇÁ·Î¼¼½º¿¡ µî·Ï½Ãų dllÀÇ ÇÚµéÀ» ³ÖÀ¸¸é µË´Ï´Ù. dll ÇÚµéÀº LoadLibrary() ÇÔ¼ö¸¦ ÅëÇØ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. Àü¿ª ÈÅÀ» ÇÏ´Â ¼ø¼´Â Áö³ ¹ø¿¡ Çß´ø ¼ø¼¿Í °°½À´Ï´Ù. Â÷ÀÌÁ¡ÀÌ ÀÖ´Ù¸é dllÀ» ·ÎµùÇϱâ À§Çؼ LoadLibrary()¸¦ »ç¿ëÇÏ´Â °Í°ú SetWindowsHookEx() ÇÔ¼ö¿¡¼ ¼¼ ¹øÂ° ÀÎÀÚ¸¦ ÀÌ¿ëÇÏ´Â °Í, ±×¸®°í ÈÅ ÇÁ·Î½ÃÀú¸¦ dll·Î ¸¸µå´Â °Í µîÀÌ ÀÖ½À´Ï´Ù. ¼Ò½ºÄÚµå·Î »ìÆì º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
óÀ½¿¡ ÈÅ ÇÁ·Î½ÃÀú ÇÚµéÀ» ¼±¾ðÇÕ´Ï´Ù.
±×¸² 5. ÈÅ ÇÁ·Î½ÃÀú ÇÚµé ¼±¾ð
µÎ ¹øÂ°·Î ÈÅ ÇÁ·Î½ÃÀú°¡ ÀÖ´Â dllÀÇ ÇÚµéÀ» ¾ò¾î ¿É´Ï´Ù.
±×¸² 6. dll ·Îµù
¼¼ ¹øÂ°·Î ÈÅ ÇÁ·Î½ÃÀú ÁÖ¼Ò¸¦ ¾ò¾î ¿É´Ï´Ù.
±×¸² 7. ÈÅ ÇÁ·Î½ÃÀú ÁÖ¼Ò ¾ò±â
³× ¹øÂ°·Î Àü¿ª ÈÅÀ» ¼³Ä¡ÇÕ´Ï´Ù.
±×¸² 8. Àü¿ª ÈÅ ¼³Ä¡
dll¿¡ ÈÅ ÇÁ·Î½ÃÀú´Â ´ÙÀ½°ú °°ÀÌ ¸¸µì´Ï´Ù.
±×¸² 9. dll¿¡ ÈÅ ÇÁ·Î½ÃÀú
ProcessExplorerÀ» ÀÌ¿ëÇØ¼ ¿©·¯ ÇÁ·Î¼¼½º¿¡¼ Global_Hook.dllÀÌ ·Îµù µÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. È®ÀÎÀº ¾Æ·¡¿Í °°½À´Ï´Ù. Global_Hook.exe ÆÄÀÏ À̿ܿ¡ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡µµ Global_Hook.dll ÆÄÀÏÀÌ ·ÎµùµÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×¸² 10. Àü¿ª ÈÅ ÇÁ·Î½ÃÀú dll ·Îµù Àü
±×¸² 11.Àü¿ª ÈÅ ÇÁ·Î½ÃÀú dll ·Îµù
¸¶Áö¸·À¸·Î Àü¿ª ÈÅ ÇÁ·Î½ÃÀú°¡ µé¾îÀÖ´Â dllÀ» ´Ù½Ã »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
À§ Äڵ忡 CallNextHookEx() ÇÔ¼ö°¡ ºüÁ® ÀÖ½À´Ï´Ù. Áï, ÈÅ ÇÁ·Î½ÃÀú¿¡¼ ¸Þ½ÃÁö¸¦ ó¸®ÇÑ ÈÄ ´ÙÀ½ ÇÁ·Î½ÃÀú·Î ³Ñ°Ü¾ß Çϴµ¥, ³Ñ°ÜÁÖ´Â ÇÔ¼ö°¡ ºüÁ® ÀÖ½À´Ï´Ù. °Ô´Ù°¡ CallNextHookEx() ÇÔ¼ö ù ÀÎÀÚ¿¡ SetWindowsHookEx() ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ ¸®ÅÏÇÑ ÈÅ ÇÁ·Î½ÃÀú ÇÚµéÀ» ³Ö¾îÁà¾ß ÇÕ´Ï´Ù. ÇÏÁö¸¸ dllÀÌ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ·ÎµùµÇ¾î Àֱ⠶§¹®¿¡ ÈÅ ÇÁ·Î½ÃÀú ÇÚµéÀ» ´Ü¼øÇÏ°Ô ³Ñ°Ü ÁÙ ¼ö ¾ø½À´Ï´Ù. ÇÁ·Î¼¼½º °£¿¡ °ªÀ» ÁÖ°í ¹ÞÀ» ¼ö ÀÖµµ·Ï Åë½ÅÀ» ÇØ¾ß ÇÕ´Ï´Ù. ÇÁ·Î½ÃÀú³¢¸® °ªÀ» ÁÖ°í ¹ÞÀ» ¶§´Â ¿©·¯ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î Àü¿ª ÈÅÀ» ÇÒ ¶§´Â °øÀ¯ ¼¼±×¸ÕÆ®¸¦ ÀÌ¿ëÇØ¼ °ªÀ» ÁÖ°í ¹Þ½À´Ï´Ù. ÇÁ·Î¼¼½º °£¿¡ °ªÀ» ÁÖ°í ¹Þ´Â °Í¿¡ ´ëÇØ¼´Â ´ÙÀ½¿¡ ±âȸ°¡ µÇ¸é ÇÑ ¹ø ´Ù·ç¾î º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
Áö±Ý±îÁö DLL InjectionÀ» ÀÌ¿ëÇÑ Àü¿ª ÈÅ¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸¾Ò½À´Ï´Ù. ÀÌ ¹æ¹ý ¿Ü¿¡ Àú¼öÁØ¿¡¼ Àü¿ª ÈÅÀ» ÇÏ´Â ¹æ¹ýÀÌ Àִµ¥, ÀÌ ¹æ¹ýÀº Áö³ °ÀÇ ½Ã°£¿¡ Çß´ø ¹æ¹ý°ú °ÅÀÇ °°½À´Ï´Ù. ´Ù¸¥ Á¡Àº SetWindowsHookEx() ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ µÎ ¹øÂ° ÀÎÀÚ·Î WH_MOUSE_LLÀ̳ª WH_KEYBOARD_LL µî µÚ¿¡ _LLÀÌ ºÙÀº °ªÀ» ÀÎÀÚ·Î ³Ö¾î ÈÅ ÇÁ·Î½ÃÀú¸¦ ¼³Ä¡ÇÏ¸é µË´Ï´Ù. ÀÌ ¹æ¹ýÀº ´Ü¼øÈ÷ ÀÎÀÚ¸¸ ¹Ù²Ù¾î ÁÖ¸é µÇ±â¿¡ °£´ÜÇØ¼ ¿©±â¿¡¼ ´Ù·çÁö´Â ¾Ê°Ú½À´Ï´Ù. ÇÏ´Ù°¡ ¾ÈµÇ´Â ºÎºÐÀÌ ÀÖ´Ù¸é ¸ÞÀÏÀ» º¸³»ÁÖ¼¼¿ä.
±×¸®°í ¸¶Áö¸·À¸·Î À§¿¡¼ ¼³¸íÀº ¾ÈÇßÁö¸¸ ÈÅÀ» °Ç ÇÁ·Î¼¼½º°¡ Á¾·áÇÒ ¶§ UnhookWindowsHookEx() ÇÔ¼ö¸¦ ÅëÇØ ²À ÈÅ ÇÁ·Î½ÃÀú¸¦ ¼³Ä¡ÇÑ °ÍÀ» Á¦°ÅÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
@ Âü°íÀÚ·á
l À©µµ¿ì ÈÅ °ü·Ã ÇÔ¼ö
SetWindowsHookEx() : ÈÅ ÇÁ·Î½ÃÀú¸¦ ¼³Ä¡ÇÕ´Ï´Ù.
http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx
CallNextHookEx() : ´ÙÀ½ ÈÅ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÕ´Ï´Ù.
http://msdn.microsoft.com/en-us/library/ms644974(VS.85).aspx
UnhookWindowsHookEx() : ¼³Ä¡ÇÑ ÈÅ ÇÁ·Î½ÃÀú¸¦ ÇØÁ¦ÇÕ´Ï´Ù.
http://msdn.microsoft.com/en-us/library/ms633591(VS.85).aspx
GetMsgProc () : GetMessage(), PeekMessage() ÇÔ¼ö°¡ È£ÃâµÉ ¶§ È£ÃâµÈ´Ù. ȸ¼öµÈ ¸Þ½ÃÁö¸¦ È£ÃâÀÚ¿¡°Ô ³Ñ°ÜÁÖ±â Àü¿¡ ÈÅ ÇÁ·Î½ÃÀú¿¡°Ô ¸Þ½ÃÁö¸¦ ³Ñ°ÜÁØ´Ù.
http://msdn.microsoft.com/en-us/library/ms644981(VS.85).aspx
LowLevelKeyboardProc () : Àú¼öÁØ Å°º¸µå ÈÄÅ· ÇÁ·Î½ÃÀúÀÔ´Ï´Ù.
http://msdn.microsoft.com/en-us/library/ms644985(VS.85).aspx
LowLevelMouseProc () : Àú¼öÁØ ¸¶¿ì½º ÈÄÅ· ÇÁ·Î½ÃÀúÀÔ´Ï´Ù.
http://msdn.microsoft.com/en-us/library/ms644986(VS.85).aspx
±â»ç : ¹Ú·¡½Å(plsgg@hotmail.com)
ÆíÁý : ¹Ú·¡½Å(plsgg@hotmail.com)