Á°¤ÎÆü / ¼¡¤ÎÆü / ºÇ¿· / 2003-08

¤¿¤Þ¤Ë¤Ã¤­¡£ / 2003-08-08

2003-08
Æü·î²Ð¿åÌÚ¶âÅÚ
12
3456789
10111213141516
17181920212223
24252627282930
31

2003-08-08 Fri

¢£ Çã¤Ã¤¿¡£

- Íý²Ê·Ï¤Î¤¿¤á¤ÎÆþÌç±Ñ¸ì¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó
- Íý²Ê·Ï¤Î¤¿¤á¤Î¤Ï¤¸¤á¤Æ¤Î±Ñ¸ìÏÀʸ¤Î½ñ¤­Êý


ɬ»à¤À¤Ê(ÏÎ ¤È¸À¤ï¤ì¤Æ¤â¤½¤ÎÄ̤ê¤Ê¤Î¤Ç¡¢²¿¤â¸À¤¤ÊÖ¤»¤Ê¤¤¡£
¤¢¤¡¡¢É¬»à¤À¤è¡£

Category: [ËÜ][±Ñ¸ì]

¢£ Sandmark ¤Ç¤ÎÆñÆÉ²½¼êË¡

- AddBogusFields Obfuscation Algorithm
    ¥À¥ß¡¼¤ÎÂåÆþ¤ò¹Ô¤¦Ì¿Îá¤ò¥¯¥é¥¹Á´ÂΤˤ錄¤Ã¤ÆÁÞÆþ¤¹¤ë
- Bogus Predicates Obfuscating Algorithm
    if ¤Ê¤É¤Î¾ò·ï¤Î¤È¤³¤í¤Ë°ÕÌ£¤Î¤Ê¤¤·×»»¼°¤òÁÞÆþ¤¹¤ë¡¥
- Boolean Variable Splitting
    boolean Ãͤòʬ³ä¤¹¤ë¡¥Î㤨¤Ð¡¤true ¤Î boolean Ãͤò true, false ¤Ë
    Ê¬³ä¤·¡¤¸µ¤ÎÃͤ¬É¬ÍפʤȤ­¤Ï XOR ¤Ç°ì¤Ä¤Ë¤Þ¤È¤á¤ë¡¥
- Class-Splitting and False Refactoring Obfuscation Algorithms
    Class-Splitting:
    ¥¯¥é¥¹ C ¤ò¤¤¤¯¤Ä¤«¤Ëʬ³ä¤¹¤ëÊýË¡¡¥Ê¬³ä¤Î»ÅÊý¤Ï³Æ¥á¥½¥Ã¥É¡¤
    ¥Õ¥£¡¼¥ë¥É´Ö¤Î°Í¸´Ø·¸¤Ç·è¤Þ¤ë¡¥

level 0: float f
level 1: method p
level 2: method q

    ¤Î¾ì¹ç¤Ê¤é¤Ð¡¤3 ¤Ä¤Î¥¯¥é¥¹¤Ëʬ³ä¤µ¤ì¡¤C2 ¤Ï C1 ¤ò·Ñ¾µ¤·¡¤
    C1 ¤Ï C0 ¤ò·Ñ¾µ¤µ¤»¤ë¡¥¤½¤·¤Æ¡¤C0 ¤Ë f ¤òÄêµÁ¤·¡¤
    C1 ¤Ë¤Ï method p ¤òÄêµÁ¤¹¤ë¡¥(method p ¤ÎÃæ¤Ç¤Ï f ¤¬»²¾È¤µ¤ì¤ë)
    ¤½¤·¤Æ¡¤C2 ¤Ë¤Ï method q ¤òÄêµÁ¤¹¤ë¡¥(method q ¤ÎÃæ¤Ç method p ¤¬»²¾È¤µ¤ì¤ë)

    False Re-factoring:
    Æ±¤¸·¿¤Î¥Õ¥£¡¼¥ë¥É¤ËÃͤòÂåÆþ¤¹¤ëÁ´¤¯Ê̤Π2 ¤Ä¤Î¥¯¥é¥¹(C1, C2)¤ò¸«¤Ä¤±¤ë¡¥
    ¿·¤·¤¤¥¯¥é¥¹ C0 ¤òºîÀ®¤·¡¤2 ¤Ä¤Î¥¯¥é¥¹¤Ï C0 ¤ò·Ñ¾µ¤¹¤ë¡¥
    C1, C2 ¤«¤é¥Õ¥£¡¼¥ë¥É¤òºï½ü¤·¡¤C0 ¤Ë¤½¤Î¥Õ¥£¡¼¥ë¥É¤òÃÖ¤¯¡¥
    C0 ¤Ë C1, C2 ¤Î¥á¥½¥Ã¥É¤ò²Ã¤¨¡¤buggy ¤Ê¥³¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯¡¥
- The Degrading Obfuscation Algorithm
    Â礭¤¯ 2 ¤Ä¤Î¹©Äø¤Ëʬ¤«¤ì¤ë¡¥
    int, float ¤Ê¤É¤Î¥×¥ê¥ß¥Æ¥£¥Ö·¿¤ÎÊÑ¿ô¤ò Integer, Float
    ¤Ê¤É¤Î¥¯¥é¥¹¤ò»È¤¦¤è¤¦¤ËÊѹ¹¤¹¤ë¡¥
    Integer ¤Ë»÷¤¿¥¯¥é¥¹¤òÍѰդ·¡¤Thread ¤òºî¤ë¡¥¸µ¤Î¥¯¥é¥¹Æâ¤Ë¤â
    Thread ¤òºî¤ê¡¤¤³¤Î 2 ¤Ä¤Î Thread ¤ò¸ß¤¤¤Ë¥í¥Ã¥¯¤·¹ç¤¦¤è¤¦¤Ë¤¹¤ë¡¥

    ¤³¤ÎÆñÆÉ²½¤ÎÌÜŪ¤Ï¡¤¤É¤Á¤é¤«¤È¸À¤¦¤È¡¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î
    Æ°ºî¤òÃÙ¤¯¤µ¤»¤ë¤³¤È¤Ë¤¢¤ë¡¥
    ¥Õ¥ê¡¼ÈǤò¤³¤ÎÊýË¡¤ÇÆñÆÉ²½¤·¤Æ¤ª¤¤¤Æ(ưºî¤¬ÃÙ¤¯¤Ê¤Ã¤Æ¤¤¤ë)¡¤
    À½ÉÊÈǤò¤³¤ÎÊýË¡¤ò»È¤ï¤Ê¤¤¤â¤Î¤Ë¤¹¤ë¤È¤¤¤¦ÌÜŪ¤À¡¥
- The Method 2R Madness Obfuscation Algorithm
    1. Á´¤Æ¤Î¥á¥½¥Ã¥É¤È¥Õ¥£¡¼¥ë¥É¤ò public ¤Ë¤¹¤ë¡¥
    2. Á´¤Æ¤ÎưŪ¤Ê¥á¥½¥Ã¥É¤ÎÃæ¿È¤ò static ¤Ê¥Ø¥ë¥Ñ¡¼¥á¥½¥Ã¥É¤Ë°Ü¤·¡¤
       ¸µ¤Î¥á¥½¥Ã¥É¤Ï¤½¤Î¥Ø¥ë¥Ñ¡¼¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤À¤±¤Ë¤¹¤ë¡¥
    3. ¥¹¥¿¥Æ¥£¥Ã¥¯¥á¥½¥Ã¥É¤Î¥·¥°¥Í¥Á¥ã(°ú¿ô¤äÊÖ¤êÃÍ)¤Ë¤¢¤ë¥×¥ê¥ß¥Æ¥£¥Ö·¿¤ÎÊÑ¿ô¤ò
       Á´¤ÆÂбþ¤¹¤ë¥é¥Ã¥Ñ¡¼¥¯¥é¥¹¤ËÊѹ¹¤¹¤ë¡¥
    4. ¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿¥ê¥¹¥È¤òºÆÀ°Íý¤¹¤ë¡¥
    5. ¥á¥½¥Ã¥É¤Î¥Ñ¥é¥á¡¼¥¿¥ê¥¹¥È¤ò°ì¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È·¿¤ÎÇÛÎó¤Ë¤¹¤ë¡¥
    6. Ʊ¤¸¥¯¥é¥¹¤Ë¤¢¤ëƱ¤¸¥·¥°¥Í¥Á¥ã¤ò»ý¤Ä static ¥á¥½¥Ã¥É¤Ï¤Þ¤È¤á¤Æ°ì¤Ä¤Î¥á¥½¥Ã¥É¤Ë¤¹¤ë¡¥
- The PromoteLocals Obfuscating Algorithm
    int ·¿¤ÎÁ´¤Æ¤Î¥í¡¼¥«¥ëÊÑ¿ô¤ò java.lang.Integer ¤ËÊѹ¹¤¹¤ë¡¥

int v = 1 + 1;

    ¤Ê¤É¤Î·×»»¤¬

Integer v = new Integer(new Integer(1).intValue() + new Integer(1).intValue());

    ¤È¤Ê¤ë¡¥

Boolean value splitting ¤ä Class splitting ¤ÏÌÌÇò¤¤¡¥

Category: [¸¦µæ]

¢£ ¾ÃÈñ¼Ô¤ËÍý²ò¤µ¤ì¤Æ¤¤¤Ê¤¤¡ÖIC¥¿¥°¡×

°Ê²¼¤Îµ­»ö¤òÆÉ¤ó¤Ç¤«¤é¾å¤Îµ­»ö¤òÆÉ¤à¤È¡¤¤Ê¤ó¤À¤«¤Ê¤¡¤È¤¤¤¦µ¤¤â¤·¤Æ¤¯¤ë¡¥
<http://it.nikkei.co.jp/it/njh_archive/njh_archive.cfm?i=20030421S264L000_21&f=ic_tag>

/.jp ¤Ë¤â¤¢¤Ã¤¿¡¥
<http://slashdot.jp/article.pl?sid=03/08/07/1332202&topic=57&mode=nested>

Category: [misc]

¢£ ·Ç¼¨ÈǤˤÆ

<http://www.oikaze.com/~tamada/cgi-bin/wwwboard.cgi>
¤è¤¦¤è¤¦ ¤µ¤ó¤«¤é¤ÎÅê¹Æ¡£

ÆàÎɸ©Ä£¤Ï¼¯¤Î·Á¡ª 2003/08/07(Thu) 18:40:07

ÆàÎɸ©Ä£¤ÎÄ£¼Ë¤Ï¡¢¼¯¤Î·Á¤ò¤·¤Æ¤¤¤ë¤È¸À¤Ã¤Æ¤âï¤â¿®¤¸¤Æ¤¯¤ì¤Þ¤»¤ó

»ä¤â¿®¤¸¤é¤ì¤Þ¤»¤ó¡£
¿Þ
¤¬¼¯¤Ê¤ó¤Æ¡¦¡¦¡¦¡£

Ʊ¤¸¤è¤¦¤ËµþÅÔ¥¿¥ï¡¼¤Î¥â¥Á¡¼¥Õ¤òʹ¤¤¤¿»þ¤Ï¡¢¤Ê¤ó¤È¤¤¤¦¤«¡¢
¹Í¤¨¤¿¿Í¤Î¥»¥ó¥¹¤òµ¿¤Ã¤¿¡£

¿Þ¡£
µþÅÔ¥¿¥ï¡¼¤ÏµþÅԤ餷¤¤¤È¤¤¤¦Íýͳ¤Ç¥â¥Á¡¼¥Õ¤Ë




¥í¥¦¥½¥¯¤¬Áª¤Ð¤ì¤¿¡£

²¿¤Ø¤¨¤Ç¤·¤ç¤¦¤«¡£

Category: [misc]

2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12

ºÇ½ª¹¹¿·»þ´Ö: 2008-09-04 19:19

Á°¤ÎÆü / ¼¡¤ÎÆü / ºÇ¿· / 2003-08

¥«¥Æ¥´¥ê