| Proguard. ¹«·á ¹× ¿ÀÇ ¼Ò½º Java Ŭ·¡½º ÆÄÀÏ Ãà¼Ò, ÃÖÀûÈ µµ±¸ ¹× Obfuscator |
Áö±Ý ´Ù¿î·Îµå |
Proguard. ¼øÀ§ ¹× ¿ä¾à
- °Ô½ÃÀÚ À̸§:
- Eric Lafortune
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://www.graphics.cornell.edu/~eric/
Proguard. ű×
Proguard. ¼³¸í
ÀÚÀ¯·Ó°í ¿ÀÇ ¼Ò½º Java Ŭ·¡½º ÆÄÀÏ ¼öÃà±â, ÃÖÀûÈ µµ±¸ ¹× ¿À¹öÄ¿ ÆÑÅÍ Proguard´Â »ç¿ëµÇÁö ¾Ê´Â Ŭ·¡½º, Çʵå, ¸Þ¼Òµå ¹× ¼Ó¼ºÀ» Á¦°ÅÇÕ´Ï´Ù. Proguard´Â ¹ÙÀÌÆ® Äڵ带 ÃÖÀûÈÇÕ´Ï´Ù. ±×·± ´ÙÀ½ ªÀº ¹«ÀǹÌÇÑ À̸§À» »ç¿ëÇÏ¿© ³ª¸ÓÁö Ŭ·¡½º, ÇÊµå ¹× ¸Þ¼ÒµåÀÇ À̸§À» ¹Ù²Ù¹Ç·Î Proguard´Â Java 6 ¶Ç´Â Java Micro Edition ¿ë ó¸® µÈ Äڵ带 ¿¹¾àÇÕ´Ï´Ù. ProguardÀÇ ´Ù¸¥ Java OBFUSCATERS¿Í ºñ±³ÇÏ¿© ¼ÒÇü ÅÛÇø´ ±â¹Ý ±¸¼º ÀÏ °ÍÀÔ´Ï´Ù. ¸î °¡Áö Á÷°üÀû ÀÎ ¸í·É Çà ¿É¼Ç ¶Ç´Â °£´ÜÇÑ ±¸¼º ÆÄÀÏÀÌ ÀϹÝÀûÀ¸·Î ÃæºÐÇÕ´Ï´Ù. »ç¿ë ¼³¸í¼´Â »ç¿ë °¡´ÉÇÑ ¸ðµç ¿É¼ÇÀ» ¼³¸í ÇÏ°íÀÌ °·ÂÇÑ ±¸¼º StyleÀÇ ´õ ¸¹Àº ¿¹¸¦ º¸¿©ÁÝ´Ï´Ù .Proguard´Â ºü¸£¸ç ¸î ¸Þ°¡ ¹ÙÀÌÆ®ÀÇ ÇÁ·Î±×·¥ ¹× ¶óÀ̺귯¸®¸¦ ó¸®ÇÏ´Â µ¥´Â ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. °á°ú ¼½¼Ç¿¡¼´Â ¿©·¯ ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ëÇÑ ½ÇÁ¦ ¼öÄ¡¸¦ Á¦°øÇÕ´Ï´Ù .Proguard´Â ¼±ÅÃÀû ±×·¡ÇÈ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º°¡ÀÖ´Â ¸í·É ÁÙ µµ±¸ÀÔ´Ï´Ù. ¶ÇÇÑ Ant ¹× JME Wireless Toolkit ¿ë Ç÷¯±×ÀÎÀÌ Á¦°øµË´Ï´Ù. ´ÙÀ½Àº "Proguard"ÀÇ ¸î °¡Áö ÁÖ¿ä ±â´ÉÀÌ ÀÖ½À´Ï´Ù. ¡¤ ´õ ÀÛÀº ÄÚµå ¾ÆÄ«À̺ê, ³×Æ®¿öÅ© °£, ºü¸¥·Îµå ¹× ´õ ÀÛÀº ¸Þ¸ð¸® ¹ßÀÚ±¹À»À§ÇÑ ´õ ºü¸¥ Àü¼ÛÀ»À§ÇÑ ´õ ÄÄÆÑÆ® ÇÑ ÄÚµå ÀÛ¼º. ¡¤ ÇÁ·Î±×·¥°ú ¶óÀ̺귯¸®¸¦ ¿ª¹æÇâÀ¸·ÎÇϱⰡ ¾î·Æ½À´Ï´Ù. ¡¤ µ¥µå Äڵ带 ³ª¿ÇϹǷΠ¼Ò½º Äڵ忡¼ Á¦°Å ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ Java 6ÀÇ Faster Ŭ·¡½º·Îµå¸¦ ÃÖ´ëÇÑ È°¿ëÇÏ·Á¸é Java 6 ¿ë ±âÁ¸ Ŭ·¡½º ÆÄÀÏÀ» Àç°ËÅäÇÏ°í ¹Ì¸® È®ÀÎÇÕ´Ï´Ù. ¿ä±¸ »çÇ× : ¡¤ JRE 1.4 ÀÌ»ó ÀÌ ¸±¸®½º¿¡¼´Â »õ·Î¿î ±â´É : ¡¤ »õ·Î¿î ǪÀÌ ·Ñ ÃÖÀûÈ°¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ¡¤ ¹Ì¼¼ÇÑ °³¼±À»À§ÇÑ ¿É¼Ç -Optimizations Ãß°¡ ¡¤ ÃÖÀûÈ ±¸¼º. ¡¤ Ãß°¡ ¿É¼Ç - ÀûÀÀÀ»À§ÇÑ ADAPTCLASSSTRINGS. ¡¤ ³µ¶ È¿¡ ÇØ´çÇÏ´Â ¹®ÀÚ¿ »ó¼ö ¡¤ Ŭ·¡½º. ¡¤ Ãß°¡ ¿É¼ÇÀ» Ãß°¡ÇÏ¿© À¯ÁöÇÕ´Ï´Ù ¡¤ ¸í½ÃµÈ ÆÐÅ°Áö À̸§Àº ³µ¶ ȵÇÁö ¾Ê½À´Ï´Ù. ¡¤ Ãß°¡ ¿É¼Ç - À¯Áö¸¦À§ÇÑ KeepDirectory ¡¤ Ãâ·Â JARÀÇ ÁöÁ¤µÈ µð·ºÅ丮 Ç׸ñ. ¡¤ È®Àå ¿É¼Ç -dontnote ¹× -dontwarn for. ¡¤ ³ëÆ®¿Í °æ°íÀÇ ¹Ì¼¼ÇÑ ±¸¼º ±¸¼º. ¡¤ Ãß°¡ ¿É¼Ç - RETACE¿¡¼ REGEX¸¦ ÁöÁ¤ÇÕ´Ï´Ù ¡¤ ½ºÅà ±¸¹® ºÐ¼®À»À§ÇÑ ´ëü Á¤±Ô Ç¥Çö½Ä ¡¤ ÈçÀû. ¡¤ ±â¹ÝÀ¸·Î ÀÚ¿ø ÆÄÀÏÀÇ È®Àå µÈ À̸§ º¯°æ ¡¤ ³µ¶ È. ¡¤ JSEÀÇ IBMÀÇ JVM¿¡¼ ¹ö±×¸¦ ÇÇÇÏ´Â °æ¿ì ¡¤ ÃÖÀûÈ ´Ü°è. ¡¤ ArrayIndexOutOfBoundsException ÇÇÇؾßÇÕ´Ï´Ù ¡¤ ÃÖÀûÈ ´Ü°è. ¡¤ ÁÖ¼®ÀÌÀÖ´Â °íÁ¤ ±¸¼º ¡¤ º¸Á¸ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ¡¤ ½´ÆÛ È£ÃâÀÇ Á¤¼ö°¡ °íÁ¤µÇ¾î ÀÖ½À´Ï´Ù ¡¤ »ï¿øÀ» ´ãÀº ÁÖÀåÀÌÀÖ´Â »ý¼ºÀÚ ¡¤ ¿î¿µÀÚ. ¡¤ µµ´Þ ÇÒ ¼ö¾ø´Â ¿¹¿ÜÀÇ °íÁ¤ ó¸® ¡¤ Çڵ鷯. ¡¤ ¹Ýº¹Àû ÀÎ ¹æ¹ý ÀζóÀÎ °íÁ¤. ¡¤ ¸¶Áö¸·À¸·Î µÑ·¯½ÎÀÎ ºí·ÏÀÇ °íÁ¤ µÈ ÀζóÀÌ´× ¡¤ JDK 1.4 ¶Ç´Â ÀÌÀü ¹öÀüÀ¸·Î ÄÄÆÄÀÏ µÈ Å« ½Ãµµ ºí·Ï. ¡¤ º¹ÇÕü ÃÖÁ¾ ºí·ÏÀÇ °íÁ¤ ÃÖÀûÈ, ¡¤ JDK 1.4 ¶Ç´Â ÀÌÀü ¹öÀüÀ¸·Î ÄÄÆÄÀϵǾú½À´Ï´Ù. ¡¤ À͸íÀÇ Å¬·¡½º À̸§ÀÇ °íÁ¤ ³µ¶ È, ¡¤ EntrySmethod ¼Ó¼ºÀÌ À¯ÁöµÇ´Â °æ¿ì. ¡¤ ³»ºÎ Ŭ·¡½º À̸§ÀÇ °íÁ¤ ³µ¶ ȸ¦ ¼öÁ¤Çß½À´Ï´Ù ¡¤ ÀÏ¹Ý À¯Çü. ¡¤ UTF-8 ¹®ÀÚ¿À» Æ÷ÇÔÇÏ´Â °íÁ¤ µðÄÚµù ¡¤ Ư¼ö ¹®ÀÚ. ¡¤ µð¹ö±× Á¤º¸ º¹»ç ¹× ¡¤ Ŭ·¡½º¸¦ º´ÇÕ ÇÒ ¶§ ÁÖ¼®. ¡¤ ¾Ë·ÁÁöÁö ¾ÊÀº ¼Ó¼º¿¡¼ ¾²´Â °ÍÀ» °íÁ¤Çß½À´Ï´Ù. ¡¤ ½ºÇø´ ¶óÀÎÀÌÀÖ´Â ¸Å´ÏÆ佺Ʈ ÆÄÀÏÀ» ¼öÁ¤Çß½À´Ï´Ù. ¡¤ ¾÷µ¥ÀÌÆ® µÈ ¹®¼ ¹× ¿¹Á¦.
Proguard. °ü·Ã ¼ÒÇÁÆ®¿þ¾î