- Timestamp:
- Jan 4, 2005, 3:47:36 AM (18 years ago)
- Location:
- pwntcha/trunk
- Files:
-
- 102 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
pwntcha/trunk/src/main.c
r400 r401 118 118 } 119 119 120 dprintf("image size %ix%i\n", img->width, img->height); 121 120 122 if(!strcmp(mode, "test")) 121 123 result = decode_test(img); … … 133 135 result = decode_phpbb(img); 134 136 } 135 else if(img->height == 25 )137 else if(img->height == 25 || img->height == 30) 136 138 { 137 139 dprintf("autodetecting scode captcha\n"); -
pwntcha/trunk/src/scode.c
r400 r401 31 31 result = malloc(1024 * sizeof(char)); 32 32 33 /* Detect background: first 3 lines */33 /* Detect background: first and last 3 lines */ 34 34 for(i = 0; i < 256; i++) 35 35 stats[i] = 0; … … 39 39 { 40 40 getpixel(img, x, y, &r, &g, &b); 41 stats[r]++; 42 getpixel(img, x, img->width - 1 - y, &r, &g, &b); 41 43 stats[r]++; 42 44 } … … 121 123 getpixel(img, x, y, &r, &g, &b); 122 124 if(!r) 123 count += y - ymin; 125 count += 5 * (y - ymin) ^ 3 * (x - xmin); 126 //count += y - ymin; 124 127 } 125 128 } … … 127 130 switch(count) 128 131 { 132 /* Scode font */ 133 case 778: return '0'; 134 case 621: return '1'; 135 case 854: return '2'; 136 case 784: return '3'; 137 case 766: return '4'; 138 case 771: return '5'; 139 case 976: return '6'; 140 case 585: return '7'; 141 case 980: return '8'; 142 case 896: return '9'; 143 /* Small font */ 144 case 584: return '0'; 145 case 454: return '1'; 146 case 517: return '2'; 147 case 447: return '3'; 148 case 469: return '4'; 149 case 472: return '5'; 150 case 564: return '6'; 151 case 298: return '7'; 152 case 560: return '8'; 153 case 536: return '9'; 154 /* Thin font */ 155 case 438: return '0'; 156 case 405: return '1'; 157 case 485: return '2'; 158 case 486: return '3'; 159 case 413: return '4'; 160 case 509: return '5'; 161 case 582: return '6'; 162 case 242: return '7'; 163 case 579: return '8'; 164 case 440: return '9'; 165 #if 0 129 166 case 162: return '0'; 130 167 case 131: return '1'; … … 137 174 case 180: return '8'; 138 175 case 170: return '9'; 176 #endif 139 177 default: 140 178 dprintf("don't know about checksum %i\n", count);
Note: See TracChangeset
for help on using the changeset viewer.