Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/mty-makai/mty.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 225 by notanpe, Wed Jun 24 09:46:11 2009 UTC revision 226 by notanpe, Tue Jul 7 10:47:03 2009 UTC
# Line 97  unsigned int   seed; Line 97  unsigned int   seed;
97  int     seedOffset;  int     seedOffset;
98  int     verbose;  int     verbose;
99    
100  #ifdef OTAKU  #ifdef NAMA
101  unsigned char   saltChar[2];  unsigned char   saltChar[2];
102  #endif /* OTAKU */  #endif /* NAMA */
103  /* MAKAI end */  /* MAKAI end */
104    
105  /* CRYPT64 記述子 */  /* CRYPT64 記述子 */
# Line 180  char   *str; Line 180  char   *str;
180  }  }
181  /* MAKAI end */  /* MAKAI end */
182    
183    #ifndef ALLKEY
184  /* 指定されたクラスと入っているキーから、classify を行う */  /* 指定されたクラスと入っているキーから、classify を行う */
185  void  void
186  key_make_map(uint8_t *key, int n)  key_make_map(uint8_t *key, int n)
# Line 231  key_make_map(uint8_t *key, int n) Line 232  key_make_map(uint8_t *key, int n)
232    if (n == 6)    if (n == 6)
233          kcls[7].map[0x00] |= KCLS_AN;          kcls[7].map[0x00] |= KCLS_AN;
234  }  }
235    #endif /* not ALLKEY */
236    
237  /* マップから文字を拾ってセット */  /* マップから文字を拾ってセット */
238  unsigned  unsigned
# Line 387  key_reset(uint8_t *key, int n) Line 389  key_reset(uint8_t *key, int n)
389    } else {    } else {
390     if ( umeStr[0] == '\0' ) {     if ( umeStr[0] == '\0' ) {
391  #ifdef ALLKEY  #ifdef ALLKEY
392      if ( n == 1 || n == 2 ) {      key[n] = rand() % 0x7f + 1;
      key[n] = rand() % 0xff + 1;  
     } else {  
      key[n] = rand() % 0x80 + 1;  
     }  
393  #else /* ALLKEY */  #else /* ALLKEY */
394      key[n] = key_set(n, rand());      key[n] = key_set(n, rand());
395  #endif /* ALLKEY */  #endif /* ALLKEY */
# Line 423  key_inc(uint8_t *key, int n) Line 421  key_inc(uint8_t *key, int n)
421  {  {
422  /* MAKAI DEBUG */  /* MAKAI DEBUG */
423  #if 0  #if 0
424    if ( n != 7 ) {
425  printf( "%d : %02x %02x %02x %02x %02x %02x %02x %02x\n",  printf( "%d : %02x %02x %02x %02x %02x %02x %02x %02x\n",
426          n, key[0], key[1], key[2], key[3], key[4], key[5], key[6], key[7] );          n, key[0], key[1], key[2], key[3], key[4], key[5], key[6], key[7] );
427    }
428  #endif /* 0 */  #endif /* 0 */
429    
430    if ( n >= 8 ) {    if ( n >= 8 ) {
# Line 452  printf( "%d : %02x %02x %02x %02x %02x % Line 452  printf( "%d : %02x %02x %02x %02x %02x %
452     return 1;     return 1;
453    }    }
454    
455    /* MAKAI start */
456    #ifdef ALLKEY
457      key[n] = ( key[n] & 0x7F ) + 1;
458      if ( key[n] >= 0x80 ) {
459       key[n] = 0xFF;       /* 次に突入させないため */
460       return 0;
461      }
462      key_reset( key, n + 1 );
463      return 1;
464    #endif /* ALLKEY */
465    /* MAKAI end */
466    
467    /* 実際に増やしてみる */    /* 実際に増やしてみる */
468    assert( n >= 3 );    assert( n >= 3 );
469    for ( ;; ) {    for ( ;; ) {
# Line 495  key_init(uint8_t *key) Line 507  key_init(uint8_t *key)
507    
508    key[8] = 0;    key[8] = 0;
509    
510    #ifndef ALLKEY
511    /* 初期マップを組む */    /* 初期マップを組む */
512    for ( i = 0; i < 256; i++ ) {    for ( i = 0; i < 256; i++ ) {
513     unsigned bm = 0;     unsigned bm = 0;
# Line 507  key_init(uint8_t *key) Line 520  key_init(uint8_t *key)
520      kcls[0].map[i - 128] |= kcls[0].map[i];      kcls[0].map[i - 128] |= kcls[0].map[i];
521     }     }
522    }    }
523    #endif /* not ALLKEY */
524    
525  /* MAKAI start */  /* MAKAI start */
526  #ifdef ALLKEY  #ifdef notdef
527  {  {
528    int   idx;    int   idx;
529    kcls[0].map[0] = 0;    kcls[0].map[0] = 0;
# Line 595  set_salt(CODE_T *code, Line 609  set_salt(CODE_T *code,
609    for (i = 0; i < 2; i++)    for (i = 0; i < 2; i++)
610          {          {
611            unsigned s = k[1 + i] & 255;            unsigned s = k[1 + i] & 255;
612    #ifdef ALLKEY
613    {
614      static unsigned char  *s2c = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
615      s = rand() % 64;
616      saltChar[i] = s2c[s];
617    }
618    #else /* ALLKEY */
619            if (s > 'z')            if (s > 'z')
620                  s = 0;                  s = 0;
621            else if (s >= 'a')            else if (s >= 'a')
# Line 653  f0 00 00 00 00 00 00 00 00 00 00 00 00 0 Line 674  f0 00 00 00 00 00 00 00 00 00 00 00 00 0
674            printf( "after  %d : Key %02x, Salt %02x(%c)\n", i, k[1 + i], s, saltChar[i] );            printf( "after  %d : Key %02x, Salt %02x(%c)\n", i, k[1 + i], s, saltChar[i] );
675  #endif /* 0 */  #endif /* 0 */
676  /* MAKAI DEBUG */  /* MAKAI DEBUG */
677    #endif /* ALLKEY */
678    
679  #if DEBUG>=1  #if DEBUG>=1
680            printf("Salt %d:%3o\n", i, s & 63);            printf("Salt %d:%3o\n", i, s & 63);
# Line 1513  main(int argc, char *argv[]) Line 1535  main(int argc, char *argv[])
1535    regExpStr[0] = '\0';    regExpStr[0] = '\0';
1536  #endif /* REON */  #endif /* REON */
1537    
1538  #ifdef OTAKU  #ifdef NAMA
1539    fprintf(stderr, "生キーバージョン\n");    fprintf(stderr, "生キーバージョン\n");
1540    fprintf(stderr, "万が一、トリップが化けた場合、\n");    fprintf(stderr, "万が一、トリップが化けた場合、\n");
1541    fprintf(stderr, "http://trip.is-a-geek.net/test/read.cgi/ra8bbs/1217089930/\n");    fprintf(stderr, "http://trip.is-a-geek.net/test/read.cgi/ra8bbs/1217089930/\n");
1542    fprintf(stderr, "に報告すると次のバージョンで改善されるかも。\n\n");    fprintf(stderr, "に報告すると次のバージョンで改善されるかも。\n\n");
1543  #endif /* OTAKU */  #endif /* NAMA */
1544    
1545  #ifdef MAKEY  #ifdef MAKEY
1546    fprintf(stderr, "魔キー空間バージョンにつき、シロウトにはおすすめできない。\n");    fprintf(stderr, "魔キー空間バージョンにつき、シロウトにはおすすめできない。\n\n");
1547  #endif /* MAKEY */  #endif /* MAKEY */
1548    
1549  #ifdef ALLKEY  #ifdef ALLKEY
1550    fprintf(stderr, "キー全空間バージョンにつき、シロウトにはおすすめできない。\n");    fprintf(stderr, "キー全空間バージョンにつき、シロウトにはおすすめできない。\n\n");
1551  #endif /* MAKEY */  #endif /* MAKEY */
1552  /* MAKAI end */  /* MAKAI end */
1553    
# Line 2088  main(int argc, char *argv[]) Line 2110  main(int argc, char *argv[])
2110        if ( cr ) fprintf( stderr, "\n" );        if ( cr ) fprintf( stderr, "\n" );
2111        cr = 0;        cr = 0;
2112  /* MAKAI start */  /* MAKAI start */
2113  #ifdef OTAKU  #ifdef NAMA
2114        log_printf(rfp, "◆%s ##%02x%02x%02x%02x%02x%02x%02x%02x%c%c"        log_printf(rfp, "◆%s ##%02x%02x%02x%02x%02x%02x%02x%02x%c%c"
2115                   "\t%04d/%02d/%02d %02d:%02d:%02d.%03d"                   "\t%04d/%02d/%02d %02d:%02d:%02d.%03d"
2116                   " 正 生\n",                   " 正 生\n",
2117                    hash,                    hash,
2118                    buf[0], buf[1], buf[2], buf[3],                    buf[1], buf[2], buf[3], buf[4],
2119                    buf[4], buf[5], buf[6], buf[7],                    buf[5], buf[6], buf[7], buf[8],
2120                    saltChar[0], saltChar[1],                    saltChar[0], saltChar[1],
2121                    plt->tm_year + 1900, plt->tm_mon + 1, plt->tm_mday,                    plt->tm_year + 1900, plt->tm_mon + 1, plt->tm_mday,
2122                    plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm);                    plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm);
2123  #else /* OTAKU */  #else /* NAMA */
2124        if ( translate( buf+1, 0, 1 ) ) {        if ( translate( buf+1, 0, 1 ) ) {
2125         strcpy( buf2, buf );         strcpy( buf2, buf );
2126        } else {        } else {
# Line 2112  main(int argc, char *argv[]) Line 2134  main(int argc, char *argv[])
2134                    plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm,                    plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm,
2135                    buf[1], buf[2], buf[3], buf[4], buf[5],                    buf[1], buf[2], buf[3], buf[4], buf[5],
2136                    buf[6], buf[7], buf[8], buf[9], "正" );                    buf[6], buf[7], buf[8], buf[9], "正" );
2137  #endif /* OTAKU */  #endif /* NAMA */
2138  /* MAKAI end */  /* MAKAI end */
2139       }       }
2140      }      }
# Line 2133  main(int argc, char *argv[]) Line 2155  main(int argc, char *argv[])
2155        if ( cr ) fprintf( stderr, "\n" );        if ( cr ) fprintf( stderr, "\n" );
2156        cr = 0;        cr = 0;
2157  /* MAKAI start */  /* MAKAI start */
2158  #ifdef OTAKU  #ifdef NAMA
2159        log_printf(lfp, "◆%s ##%02x%02x%02x%02x%02x%02x%02x%02x%c%c"        log_printf(lfp, "◆%s ##%02x%02x%02x%02x%02x%02x%02x%02x%c%c"
2160                   "\t%04d/%02d/%02d %02d:%02d:%02d.%03d"                   "\t%04d/%02d/%02d %02d:%02d:%02d.%03d"
2161                   " %s 生\n",                   " %s 生\n",
2162                    hash,                    hash,
2163                    buf[0], buf[1], buf[2], buf[3],                    buf[1], buf[2], buf[3], buf[4],
2164                    buf[4], buf[5], buf[6], buf[7],                    buf[5], buf[6], buf[7], buf[8],
2165                    saltChar[0], saltChar[1],                    saltChar[0], saltChar[1],
2166                    plt->tm_year + 1900, plt->tm_mon + 1, plt->tm_mday,                    plt->tm_year + 1900, plt->tm_mon + 1, plt->tm_mday,
2167                    plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm, kind);                    plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm, kind);
2168  #else /* OTAKU */  #else /* NAMA */
2169        if ( translate( buf+1, 0, 1 ) ) {        if ( translate( buf+1, 0, 1 ) ) {
2170         strcpy( buf2, buf );         strcpy( buf2, buf );
2171        } else {        } else {
# Line 2157  main(int argc, char *argv[]) Line 2179  main(int argc, char *argv[])
2179                    plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm,                    plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm,
2180                    buf[1], buf[2], buf[3], buf[4], buf[5],                    buf[1], buf[2], buf[3], buf[4], buf[5],
2181                    buf[6], buf[7], buf[8], buf[9], kind );                    buf[6], buf[7], buf[8], buf[9], kind );
2182  #endif /* OTAKU */  #endif /* NAMA */
2183  /* MAKAI end */  /* MAKAI end */
2184       }       }
2185      }      }
# Line 2232  main(int argc, char *argv[]) Line 2254  main(int argc, char *argv[])
2254                            if (cr)                            if (cr)
2255                                  fprintf(stderr, "\n");                                  fprintf(stderr, "\n");
2256                            cr = 0;                            cr = 0;
2257  #ifdef OTAKU  #ifdef NAMA
2258                            log_printf(ofp, "◆%s ##%02x%02x%02x%02x%02x%02x%02x%02x%c%c"                            log_printf(ofp, "◆%s ##%02x%02x%02x%02x%02x%02x%02x%02x%c%c"
2259                                                   "\t%04d/%02d/%02d %02d:%02d:%02d.%03d"                                                   "\t%04d/%02d/%02d %02d:%02d:%02d.%03d"
2260                                                   " %02d 生\n",                                                   " %02d 生\n",
# Line 2243  main(int argc, char *argv[]) Line 2265  main(int argc, char *argv[])
2265                                                   plt->tm_year + 1900, plt->tm_mon + 1, plt->tm_mday,                                                   plt->tm_year + 1900, plt->tm_mon + 1, plt->tm_mday,
2266                                                   plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm,                                                   plt->tm_hour, plt->tm_min, plt->tm_sec, tb.millitm,
2267                                                   hitLen);                                                   hitLen);
2268  #else /* OTAKU */  #else /* NAMA */
2269                            if (translate(buf, 0, 1)) {                            if (translate(buf, 0, 1)) {
2270                             buf2[0] = '#';                             buf2[0] = '#';
2271                             strcpy( buf2+1, buf );                             strcpy( buf2+1, buf );
# Line 2259  main(int argc, char *argv[]) Line 2281  main(int argc, char *argv[])
2281                                                   buf[0], buf[1], buf[2], buf[3],                                                   buf[0], buf[1], buf[2], buf[3],
2282                                                   buf[4], buf[5], buf[6], buf[7],                                                   buf[4], buf[5], buf[6], buf[7],
2283                                                   buf[8], hitLen);                                                   buf[8], hitLen);
2284  #endif /* OTAKU */  #endif /* NAMA */
2285  /* MAKAI end */  /* MAKAI end */
2286    
2287                          }                          }

Legend:
Removed from v.225  
changed lines
  Added in v.226

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26