¡¶µðÄÄÆÄÀϸµ ¾Èµå·ÎÀ̵å(Decompiling Android)¡·¿¡¼´Â ÁÁ°í ³ª»Û ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¾î¶»°Ô ¸¸µé¾îÁö´ÂÁö ±×¸®°í µ¶ÀÚ ¿©·¯ºÐÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¾î¶»°Ô Çϸé ÇØÅ·À¸·ÎºÎÅÍ ´õ ¾ÈÀüÇÏ°Ô ¸¸µé ¼ö ÀÖ´ÂÁö¸¦ ¼³¸íÇϰí ÀÖ´Ù. ÀÌ Ã¥¿¡¼´Â ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ´Ù¿î·ÎµåÇÏ°í ¿ø·¡ÀÇ ÀÚ¹Ù ¼Ò½º³ª HTML5, CSS Äڵ带 ¾ò´Â °ÍÀÌ ¾ó¸¶³ª ½¬¿î ÀÏÀÎÁö¸¦ Àß º¸¿©ÁÖ°í ÀÖÀ¸¸ç ±×·Î ÀÎÇØ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ǵéÀÇ ¼Ò½º°¡ ¾ÇÀÇÀûÀÎ Àǵµ¸¦ °¡Áö°í Á¢±ÙÇÏ·Á´Â »ç¶÷µé·ÎºÎÅÍ °·ÂÇÏ°Ô ´ëÀÀÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¼³¸íÇϰí ÀÖ´Ù. Áï, Äڵ带 º¸È£ÇÏ...
´õº¸±â
¡¶µðÄÄÆÄÀϸµ ¾Èµå·ÎÀ̵å(Decompiling Android)¡·¿¡¼´Â ÁÁ°í ³ª»Û ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¾î¶»°Ô ¸¸µé¾îÁö´ÂÁö ±×¸®°í µ¶ÀÚ ¿©·¯ºÐÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¾î¶»°Ô Çϸé ÇØÅ·À¸·ÎºÎÅÍ ´õ ¾ÈÀüÇÏ°Ô ¸¸µé ¼ö ÀÖ´ÂÁö¸¦ ¼³¸íÇϰí ÀÖ´Ù. ÀÌ Ã¥¿¡¼´Â ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ´Ù¿î·ÎµåÇÏ°í ¿ø·¡ÀÇ ÀÚ¹Ù ¼Ò½º³ª HTML5, CSS Äڵ带 ¾ò´Â °ÍÀÌ ¾ó¸¶³ª ½¬¿î ÀÏÀÎÁö¸¦ Àß º¸¿©ÁÖ°í ÀÖÀ¸¸ç ±×·Î ÀÎÇØ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ǵéÀÇ ¼Ò½º°¡ ¾ÇÀÇÀûÀÎ Àǵµ¸¦ °¡Áö°í Á¢±ÙÇÏ·Á´Â »ç¶÷µé·ÎºÎÅÍ °·ÂÇÏ°Ô ´ëÀÀÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¼³¸íÇϰí ÀÖ´Ù. Áï, Äڵ带 º¸È£ÇÏ°í ¹éµµ¾î¸¦ Á¦°ÅÇÔÀ¸·Î½á ¾ÖÇø®ÄÉÀ̼ǿ¡ Æ÷Ç﵃ ¼öµµ ÀÖ´Â ½Å¿ëÄ«µå Á¤º¸³ª ¹é¿£µå ½Ã½ºÅÛ ·Î±×ÀÎ Á¤º¸¿Í °°Àº ¹Î°¨ÇÑ µ¥ÀÌÅ͸¦ º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϰí ÀÖ´Ù.
³»°¡ ¸¸µç ¼Ò½º Äڵ带 ÁöŰ·Á¸é ¸ÕÀú »ó´ë°¡ ¾î¶»°Ô ¶Õ°í µé¾î¿À´ÂÁö¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù.
¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ¼Ò½º Äڵ尡 ¾î¶»°Ô ÆÄ±«µÇ´ÂÁö ±×¸®°í ¾î¶»°Ô ÇÏ¸é ¸·À» ¼ö ÀÖ´ÂÁö ¾Ë¾Æº»´Ù.
¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀº ¸ð¹ÙÀÏ ±â±â¿¡¼ µ¿ÀÛÇÏ¸ç ½±°Ô Á¢±ÙÀÌ °¡´ÉÇÏ°í ¿ª°øÇÐÀ» ÅëÇØ¼
¿ø·¡ÀÇ ¼Ò½º Äڵ带 ¾Ë¾Æ³»´Â °Íµµ ½±´Ù. µðÄÄÆÄÀÏÀ̶ó´Â °ÍÀº ±â°è¾î ÇüÅÂÀÇ Äڵ带 »ç¶÷ÀÌ ÀÐÀ» ¼ö
ÀÖ´Â ÇüÅ·Πº¯È¯ÇÏ´Â °úÁ¤ÀÌ´Ù. ½ÇÇà ÆÄÀÏÀ̳ª Àڹ٠Ŭ·¡½º ÆÄÀÏ, DLL ÆÄÀÏ µîÀ» µðÄÄÆÄÀÏÇÏ°Ô µÇ¸é
¿ø·¡ÀÇ ¼Ò½º ÄÚµå¿Í´Â »ç¹µ ´Ù¸¥ ÇüÅÂÀÇ Äڵ带 ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ ÄÚµå´Â ºñ·Ï ºÒ¿ÏÀüÇϰí Àб⿡µµ
½±Áö´Â ¾ÊÁö¸¸ ±×·¡µµ ±â°è¾î¿¡ ºñÇÏ¸é ¿ø·¡ÀÇ Äڵ带 ¾Ë¾Æ³»´Âµ¥ ÈξÀ ´õ ¼ö¿ùÇÑ ÆíÀÌ´Ù.
ÀÌ Ã¥ µðÄÄÆÄÀϸµ ¾Èµå·ÎÀ̵忡¼´Â ´Ù¸¥ ÀϹÝÀûÀÎ ÃâÆÇ¹°¿¡¼´Â ½±°Ô º¼ ¼öµµ ¾øÀ¸¸ç ´Ù·çÁö ¸øÇϰí ÀÖ´Â ³»¿ëÀ» ¼³¸íÇϰí ÀÖ´Ù. ¿ø·¡ÀÇ ¼Ò½º Äڵ带 ¾ò¾î³»±â À§Çؼ ³ë·ÂÇÏ´Â ¸¹Àº »ç¶÷µéÀÌ »ç¿ëÇÏ´Â µµ±¸³ª ±â¹ýÀ» ÀçÁ¶¸íÇϰí À̵éºÎÅÍ °³¹ßÀÚ°¡ Èûµé¿© ¸¸µç ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÇ Äڵ带 º¸È£ÇÒ ¼ö ÀÖ´Â ³µ¶È¿Í °°Àº ±â¹ýÀ» ¾Æ¿ï·¯ ¼³¸íÇϰí ÀÖ´Ù.
µðÄÄÆÄÀϸµ ¾Èµå·ÎÀ̵å´Â ÀϹÝÀûÀÎ ¾Èµå·ÎÀ̵å ÇÁ·Î±×·¡¹Ö °¡À̵åºÏÀÌ ¾Æ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÇÁ·Î±×·¡¹Ö Ã¥Àº °³¹ßÀÚÀÇ ¾ÆÀ̵ð¾î¸¦ ¾î¶»°Ô ¼Ò½º ÄÚµå·Î ±¸ÇöÇÏ´ÂÁö ¼³¸íÇÏÁö¸¸ ÀÌ Ã¥Àº Á¤ ¹Ý´ëÀÌ´Ù. ÀÌ Ã¥À» ÅëÇØ¼ ¾Èµå·ÎÀÌµå ¿ÉÄÚµå(opcode)µéÀ» ¿ø·¡ÀÇ ¼Ò½º ÄÚµå·Î º¯È¯Çϰí, À̸¦ ÅëÇØ¼ ÇÁ·Î±×·¥À» °³¹ßÇÑ »ç¶÷ÀÌ ¾î¶² »ý°¢À» °¡Áö°í ÀÖ¾ú´ÂÁö ÃßÃøÇÏ°Ô µÈ´Ù. µû¶ó¼ ¾ð¾î ±¸Á¶¸¦ ±¸Ã¼ÀûÀ¸·Î ´Ù·ç´Â ´ë½Å DVM°ú ¿ÉÄڵ忡 °ü·ÃµÈ ³»¿ë À§ÁÖ·Î ÀÚ¼¼È÷ ¼³¸íÇϰí ÀÖ´Ù. ÀÌ Ã¥¿¡¼ Áß¿äÇÑ °ÍÀº ¾ð¾îÀÇ ¹®¹ýÀÌ ¾Æ´Ï¶ó Àú¼öÁØ¿¡¼ °¡»ó ¸Ó½ÅÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´À³ÄÀÌ´Ù.
°á·ÐÀûÀ¸·Î ÀúÀÚ´Â ÀÌ Ã¥À» ÅëÇØ ¸¹Àº °³¹ßÀÚµéÀÌ Èûµé°Ô ¸¸µç ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼ÒÁßÇÏ°Ô »ý°¢ÇÏ°í ½º½º·Î¸¦ ¾î¶»°Ô Çϸé Áöų ¼ö ÀÖ´ÂÁö ±× ±æÀ» Á¦½ÃÇϰí ÀÖ´Ù.
ÀÌ Ã¥À» ÅëÇØ ¹è¿ï ¼ö ÀÖ´Â °Íµé
¡¤ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» µðÄÄÆÄÀÏÇÏ°í º¸È£ÇÏ´Â µµ±¸ ¹× ±â¹ý
¡¤ ÀáÀçÀûÀÎ º¸¾È À§ÇùÀ» Áø´ÜÇϰí ÇÇÇÒ ¼ö ÀÖ´Â ÆÁ
¡¤ JVM°ú Dalvik VMÀÇ Â÷ÀÌÁ¡¿¡ ´ëÇÑ ºÐ¼®
¡¤ ¾Èµå·ÎÀÌµå µðÄÄÆÄÀÏ·¯ ¹× ³µ¶È µµ±¸¸¦ ¸¸µå´Â ÀÚ¼¼ÇÑ ¹æ¹ý
¡¤ ÀÚ¹Ù ¹ÙÀÌÆ® ÄÚµå¿Í ¿ÉÄڵ忡 ´ëÇÑ ÀÌÇØ°¡ ½¬¿ì¸é¼µµ ÀÚ¼¼ÇÑ ¼³¸í
¡¤ DEX ÆÄÀϰú ¿ÉÄڵ忡 ´ëÇÑ ±¸Á¶¸¦ ¼³¸íÇϰí, Àڹ٠Ŭ·¡½º ÆÄÀϰúÀÇ Â÷ÀÌÁ¡À» ºñ±³
¡¤ ¾Èµå·ÎÀ̵å APK ÆÄÀÏÀ» µðÄÄÆÄÀÏÇÏ´Â ´Ù¾çÇÑ ¿¹Á¦
ÀÌ Ã¥ÀÇ µ¶ÀÚ
¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î Çϰí ÀÖÀ¸¸ç classes.dex ÆÄÀÏÀ» ¾î¶»°Ô µðÄÄÆÄÀÏÇϰí, ¾î¶² º¸È£ ±â¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇØ °ü½ÉÀÌ ÀÖ´Â µ¶ÀÚ¸¦ ´ë»óÀ¸·Î Çϰí ÀÖ´Ù.
´Ý±â