Áö±Ý ÀÌ ¹®¼¿¡¼ Å©·¢ÇÏ´Â MSN 7.5 ¹öÀüÀº ¿µ¹® ¹öÀüÀ» ´ë»óÀ¸·Î ÇÕ´Ï´Ù.
MSN Å©·¢Àº »ý°¢º¸´Ù »ó´çÈ÷ ½±½À´Ï´Ù.
ÀϹÝÀûÀ¸·Î »ó¿ë ÇÁ·Î±×·¥°°Àº °æ¿ì µð¹ö±ëÀ» Èûµé°Ô Çϱâ À§Çؼ ½ÇÇàÆÄÀÏ Çì´õ¿¡ º¯°æÀ» °¡ÇÏ°í ¾ÐÃàÀ» ÇÑ´Ù´ø°¡
¾ÈƼ µð¹ö±ë Äڵ带 »ðÀÔÇѴٰųª Çϴµ¥ ÀÌ·±°ÍÀÌ ÀüÇô¾ø±â ¶§¹®ÀÔ´Ï´Ù.
´ÜÁö ÇÁ·Î±×·¥¿¡ ¿ë·®ÀÌ Ä¿¼ µð½º ¾î¼Àºí¸® µÈ Äڵ尡 ³Ê¹« ¾çÀÌ ¸¹¾Æ
º¹ÀâÇØº¸ÀÌ´Â Á¡ »©°í ¸»ÀÔ´Ï´Ù.
Âü°í·Î Å©·¢½Ã ¿øº»ÆÄÀÏÀº ¹é¾÷ÇÏ½Ç ÇÊ¿ä ¾ø½À´Ï´Ù.
¾îÂ÷ÇÇ ÄÚµå ¼öÁ¤ ÈÄ ´Ù¸¥ À̸§À¸·Î ÀúÀå ÇÒ °Í À̱⠶§¹®¿¡..
¿ì¼±ÀûÀ¸·Î Å©·¢ÇϱâÀü¿¡ ´ÙÀ½°ú °°Àº »óȲÀ» ¼÷ÁöÇÏ¼Å¾ß ÇÕ´Ï´Ù.
ÀÌÀü ¹®¼¿¡¼ Ǭ Å©·¢¹Ìº¸´Ù Äڵ尡 »ó´çÈ÷ ±æ°í º¹ÀâÇÕ´Ï´Ù.
ÀÏÀÏÀÌ ÇÑ ÁÙ¾¿ Äڵ带 ÇØ¼®ÇÏ½Ã¸é ¾ÈµË´Ï´Ù.
´ëÃæ Äڵ带 Àо°¡¸é¼ ´ÙÁß ½ÇÇàÀ» ¸·´Â ·çƾÀ» ãÀ¸¼Å¾ß ÇÕ´Ï´Ù.
´ÙÁß ½ÇÇàÀ» ¸·´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀ¸·Î´Â
FindWindow API ÇÔ¼ö°¡ ÀÖ½À´Ï´Ù.
FindWindow ÇÔ¼ö¸¦ ÅëÇØ¼ ³ªÀÇ À©µµ¿ì¿Í µ¿ÀÏÇÑ Å¬·¡½º¿Í Á¦¸ñÀ» ã¾Æ¼ ÀÖ´Ù¸é
±× ÇÁ·Î±×·¥À» Ȱ¼ºÈÇϰí Á¾·áÇÕ´Ï´Ù.
¸¸¾à¿¡ ãÁö ¸ø Çß´Ù¸é ³» ÇÁ·Î±×·¥ÀÌ ½ÇÇàÁßÀÌÁö ¾ÊÀº °ÍÀ¸·Î °£ÁÖÇϰí ÇÁ·Î±×·¥À» Á¤»óÀûÀ¸·Î
½ÇÇà½Ãŵ´Ï´Ù.
ÀÌ ¹æ¹ýÀº »ó´çÇÑ ¹®Á¦Á¡ÀÌ ÀÖÀ¸¹Ç·Î °ÅÀÇ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù.
¶Ç ÇѰ¡Áö ¹æ¹ýÀ¸·Î´Â ¹ÂÅØ½º¸¦ ÀÌ¿ëÇÑ ¹æ¹ýÀÔ´Ï´Ù.
CreateMutex(nil, True, '¾È³ç');
if (GetLastError = ERROR_ALREADY_EXISTS) then
// ¾ÖÇø®ÄÉÀÌ¼Ç Á¾·á ÄÚµå
CreateMutex ¼¼¹øÂ° ÀÎÀÚ¸¦ ÅëÇØ¼ Áߺ¹ ½ÇÇàÀ» °Ë»çÇÏ°Ô µË´Ï´Ù.
ÀϹÝÀûÀ¸·Î ¹ÂÅØ½º°¡ °¡Àå ¾µ¸¸ÇÑ °Í °°½À´Ï´Ù.
( ¹°·Ð Àú´Â ¾Ê ½áºÃ½À´Ï´Ù................................ )
´Ù½Ã ÇÑ ¹ø Å©·¢À» ÇϱâÀü¿¡ ¶Ç »ý°¢Çغ¼ Â÷·ÊÀÔ´Ï´Ù.
MSN ÀÌ ½ÇÇàµÇ¸é ¾Æ¸¶ ¿ì¼±ÀûÀ¸·Î MSN ÀÌ ÀÌ¹Ì ½ÇÇàÁßÀΰ¡ Á¡°ËÇÏ°Ô µÉ °Ì´Ï´Ù. ( ¹°·Ð ±× Àü¿¡ ´Ù¸¥ ÀÛ¾÷À» Çϱ⵵ ÇϰÚÁÒ )
±×¸®°í ÀÌ¹Ì ½ÇÇàÁßÀ̶ó¸é ±× MSN À» Ȱ¼ºÈ »óÅ·Π¸¸µé°í ÇÁ·Î±×·¥À» Á¾·áÇÕ´Ï´Ù.
ÇÏÁö¸¸ MSN ÀÌ ½ÇÇàÁßÀÌ ¾Æ´Ï¶ó¸é MSN À» Á¤»óÀûÀ¸·Î ½ÇÇàÇÏ°Ô µÉ °Ì´Ï´Ù.
¿ì¸®°¡ ÇØ¾ß ÇÒ °ÍÀº MSN ÀÌ ½ÇÇàÁßÀÎÁö Á¡°ËÇÏ´Â ·çƾÀ» ¾Ë¾Æ³»¾ß ÇÕ´Ï´Ù.
±× ºÎºÐÀº CMP ¸í·É¾î¸¦ ¾µ °¡´É¼ºÀÌ ¸Å¿ì ³ô°ÚÁÒ.
¿ì¼± ¿Ã¸®µðºñ°Å·Î ¿¾îº¾½Ã´Ù.

¿Ã¸® µð¹ö°Å·Î ¿©´Âµ¥¿¡µµ ÀÌÀü º¸´Ù Á¶±Ý ½Ã°£ÀÌ °É¸³´Ï´Ù.
±×¸®°í ´ÙÀ½°í °°ÀÌ Å×½ºÆ®ÇÕ´Ï´Ù.
MSN À» À̹̽ÇÇàÇÑ »óÅÂ¿Í ½ÇÇàÇÏÁö ¾Ê¾ÒÀ» »óÅ¿¡¼ Step over ¿Í ºê·¹ÀÌÅ© Æ÷ÀÎÆ®¸¦ ÀÌ¿ëÇØ¼
MSN À» ÄÚµå ÇÑÁÙ ÇÑÁÙ¾¿ ½ÇÇàÇØº¾´Ï´Ù.
MSN À» ÀÌ¹Ì ½ÇÇàÇÑ »óÅ¿¡¼´Â ÀÌ Äڵ尡 ½ÇÇàµÇÁö ¾Ê¾Ò´Âµ¥ MSN À» ½ÇÇàÇÏÁö ¾ÊÀº »óÅ¿¡¼´Â
ÀÌ Äڵ尡 ½ÇÇàµÇ¾ú´Ù¸é ±× ºÎºÐÀ» ÁýÁß °ø·«Çϼ¼¿ä.
±× ºÎºÐ ±Ùó¿¡ MSN ½ÇÇà¿©ºÎ Á¡°Ë ·çƾÀÌ ÀÖÀ» °¡´É¼ºÀÌ ¸Å¿ì ³ô½À´Ï´Ù.
¿ÏÀü ³ë°¡´ÙÀÔ´Ï´Ù.
³ë°¡´Ù ³¡¿¡ ã¾Æ³½ ·çƾºÎºÐ ÀÔ´Ï´Ù.

005580C9 |> 68 FC494100 PUSH msnmsgr.004149FC ; /EventName = "MSNMSGR"
005580CE |. 53 PUSH EBX ; |InitiallySignaled
005580CF |. 6A 01 PUSH 1 ; |ManualReset = TRUE
005580D1 |. 53 PUSH EBX ; |pSecurity
005580D2 |. FF15 58134000 CALL DWORD PTR DS:[<&KERNEL32.CreateEven>; \CreateEventA
005580D8 |. 3BC3 CMP EAX,EBX
005580DA |. 8B7D F0 MOV EDI,DWORD PTR SS:[EBP-10]
005580DD |. 8947 28 MOV DWORD PTR DS:[EDI+28],EAX
005580E0 |. 0F84 CD010000 JE msnmsgr.005582B3
005580E6 |. FF15 74144000 CALL DWORD PTR DS:[<&KERNEL32.GetLastErr>; [GetLastError
005580EC |. 3D B7000000 CMP EAX,0B7
005580F1 0F85 B5010000 JNZ msnmsgr.005582AC
¹Ù·Î ÀÌ ºÎºÐÀÔ´Ï´Ù.
CreateEvent API ÇÔ¼ö »ç¿ë½Ã 4 ¹øÂ° ÀÎÀÚ¿¡ ¹®ÀÚ¿À» ÅëÇØ¼ MSN ÀÇ Áߺ¹ ½ÇÇàÀ» ¹æÁöÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
¸¶Áö¸·¿¡ JNZ ¸í·É¾î¸¦ ÅëÇØ¼ ÇÁ·Î±×·¥À» °è¼Ó ½ÇÇà ÇÒ °ÍÀΰ¡ ½ÇÇàÇÏÁö ¾ÊÀ» °ÍÀΰ¡¸¦ °áÁ¤ÇÏ°Ô µË´Ï´Ù.
005580F1 0F85 B5010000 JNZ msnmsgr.005582AC
¹Ù·Î ¹Ø¿¡ ºÎºÐÀº MSN À» Ȱ¼ºÈ½Ã۰í ÀÚ±âÀÚ½ÅÀ» Á¾·á½ÃŰ°Ô µË´Ï´Ù.
µû¶ó¼ ºñ±³¹® ÈÄ¿¡ JNZ ºÎºÐÀ» JMP ¸í·É¾î·Î ¹Ù²Ù¸é µË´Ï´Ù.

±×¸®°í Å©·¢ µÈ ÄÚµå·Î ÇÁ·Î±×·¥À» ÀúÀåÇÏ½Ã¸é µÇ°Ú½À´Ï´Ù.
ÀúÀåÇÏ´Â ¹æ¹ýÀº ¼öÁ¤ µÈ Äڵ带 ¸¶¿ì½º·Î µå·¡±× ÇØ¼ ¼±Åà ÈÄ¿¡ ÀÌÀü ¹®¼¿¡¼Ã³·³ ÀúÀåÇÏ½Ã¸é µË´Ï´Ù.
½ÇÇà°á°ú´Â ´ÙÀ½°ú °°½À´Ï´Ù.
