소스 검색

* authimage support

* broadened scode to trencaspammers


git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/pwntcha/trunk@424 92316355-f0b4-4df1-b90c-862c8a59935f
master
sam 20 년 전
부모
커밋
52d7749ff4
100개의 변경된 파일126개의 추가작업 그리고 5개의 파일을 삭제
  1. BIN
      share/font_authimage.png
  2. +1
    -0
      src/Makefile.am
  3. +86
    -0
      src/authimage.c
  4. +2
    -0
      src/common.h
  5. +21
    -0
      src/filters.c
  6. +2
    -1
      src/linuxfr.c
  7. +10
    -4
      src/main.c
  8. +1
    -0
      testsuite/Makefile.am
  9. +3
    -0
      testsuite/README
  10. BIN
      testsuite/authimage/authimage00.jpeg
  11. BIN
      testsuite/authimage/authimage01.jpeg
  12. BIN
      testsuite/authimage/authimage02.jpeg
  13. BIN
      testsuite/authimage/authimage03.jpeg
  14. BIN
      testsuite/authimage/authimage04.jpeg
  15. BIN
      testsuite/authimage/authimage05.jpeg
  16. BIN
      testsuite/authimage/authimage06.jpeg
  17. BIN
      testsuite/authimage/authimage07.jpeg
  18. BIN
      testsuite/authimage/authimage08.jpeg
  19. BIN
      testsuite/authimage/authimage09.jpeg
  20. BIN
      testsuite/authimage/authimage10.jpeg
  21. BIN
      testsuite/authimage/authimage11.jpeg
  22. BIN
      testsuite/authimage/authimage12.jpeg
  23. BIN
      testsuite/authimage/authimage13.jpeg
  24. BIN
      testsuite/authimage/authimage14.jpeg
  25. BIN
      testsuite/authimage/authimage15.jpeg
  26. BIN
      testsuite/authimage/authimage16.jpeg
  27. BIN
      testsuite/authimage/authimage17.jpeg
  28. BIN
      testsuite/authimage/authimage18.jpeg
  29. BIN
      testsuite/authimage/authimage19.jpeg
  30. BIN
      testsuite/authimage/authimage20.jpeg
  31. BIN
      testsuite/authimage/authimage21.jpeg
  32. BIN
      testsuite/authimage/authimage22.jpeg
  33. BIN
      testsuite/authimage/authimage23.jpeg
  34. BIN
      testsuite/authimage/authimage24.jpeg
  35. BIN
      testsuite/authimage/authimage25.jpeg
  36. BIN
      testsuite/authimage/authimage26.jpeg
  37. BIN
      testsuite/authimage/authimage27.jpeg
  38. BIN
      testsuite/authimage/authimage28.jpeg
  39. BIN
      testsuite/authimage/authimage29.jpeg
  40. BIN
      testsuite/authimage/authimage30.jpeg
  41. BIN
      testsuite/authimage/authimage31.jpeg
  42. BIN
      testsuite/authimage/authimage32.jpeg
  43. BIN
      testsuite/authimage/authimage33.jpeg
  44. BIN
      testsuite/authimage/authimage34.jpeg
  45. BIN
      testsuite/authimage/authimage35.jpeg
  46. BIN
      testsuite/authimage/authimage36.jpeg
  47. BIN
      testsuite/authimage/authimage37.jpeg
  48. BIN
      testsuite/authimage/authimage38.jpeg
  49. BIN
      testsuite/authimage/authimage39.jpeg
  50. BIN
      testsuite/authimage/authimage40.jpeg
  51. BIN
      testsuite/authimage/authimage41.jpeg
  52. BIN
      testsuite/authimage/authimage42.jpeg
  53. BIN
      testsuite/authimage/authimage43.jpeg
  54. BIN
      testsuite/authimage/authimage44.jpeg
  55. BIN
      testsuite/authimage/authimage45.jpeg
  56. BIN
      testsuite/authimage/authimage46.jpeg
  57. BIN
      testsuite/authimage/authimage47.jpeg
  58. BIN
      testsuite/authimage/authimage48.jpeg
  59. BIN
      testsuite/authimage/authimage49.jpeg
  60. BIN
      testsuite/authimage/authimage50.jpeg
  61. BIN
      testsuite/authimage/authimage51.jpeg
  62. BIN
      testsuite/authimage/authimage52.jpeg
  63. BIN
      testsuite/authimage/authimage53.jpeg
  64. BIN
      testsuite/authimage/authimage54.jpeg
  65. BIN
      testsuite/authimage/authimage55.jpeg
  66. BIN
      testsuite/authimage/authimage56.jpeg
  67. BIN
      testsuite/authimage/authimage57.jpeg
  68. BIN
      testsuite/authimage/authimage58.jpeg
  69. BIN
      testsuite/authimage/authimage59.jpeg
  70. BIN
      testsuite/authimage/authimage60.jpeg
  71. BIN
      testsuite/authimage/authimage61.jpeg
  72. BIN
      testsuite/authimage/authimage62.jpeg
  73. BIN
      testsuite/authimage/authimage63.jpeg
  74. BIN
      testsuite/authimage/authimage64.jpeg
  75. BIN
      testsuite/authimage/authimage65.jpeg
  76. BIN
      testsuite/authimage/authimage66.jpeg
  77. BIN
      testsuite/authimage/authimage67.jpeg
  78. BIN
      testsuite/authimage/authimage68.jpeg
  79. BIN
      testsuite/authimage/authimage69.jpeg
  80. BIN
      testsuite/authimage/authimage70.jpeg
  81. BIN
      testsuite/authimage/authimage71.jpeg
  82. BIN
      testsuite/authimage/authimage72.jpeg
  83. BIN
      testsuite/authimage/authimage73.jpeg
  84. BIN
      testsuite/authimage/authimage74.jpeg
  85. BIN
      testsuite/authimage/authimage75.jpeg
  86. BIN
      testsuite/authimage/authimage76.jpeg
  87. BIN
      testsuite/authimage/authimage77.jpeg
  88. BIN
      testsuite/authimage/authimage78.jpeg
  89. BIN
      testsuite/authimage/authimage79.jpeg
  90. BIN
      testsuite/authimage/authimage80.jpeg
  91. BIN
      testsuite/authimage/authimage81.jpeg
  92. BIN
      testsuite/authimage/authimage82.jpeg
  93. BIN
      testsuite/authimage/authimage83.jpeg
  94. BIN
      testsuite/authimage/authimage84.jpeg
  95. BIN
      testsuite/authimage/authimage85.jpeg
  96. BIN
      testsuite/authimage/authimage86.jpeg
  97. BIN
      testsuite/authimage/authimage87.jpeg
  98. BIN
      testsuite/authimage/authimage88.jpeg
  99. BIN
      testsuite/authimage/authimage89.jpeg
  100. BIN
      testsuite/authimage/authimage90.jpeg

BIN
share/font_authimage.png 파일 보기

Before After
Width: 216  |  Height: 7  |  Size: 480 B

+ 1
- 0
src/Makefile.am 파일 보기

@@ -8,6 +8,7 @@ pwntcha_SOURCES = \
image.c \
filters.c \
common.h \
authimage.c \
linuxfr.c \
phpbb.c \
scode.c \


+ 86
- 0
src/authimage.c 파일 보기

@@ -0,0 +1,86 @@
/*
* authimage.c: decode authimage captchas
* $Id$
*
* Copyright: (c) 2005 Sam Hocevar <sam@zoy.org>
* This program is free software; you can redistribute it and/or
* modify it under the terms of the Do What The Fuck You Want To
* Public License as published by Banlu Kemiyatorn. See
* http://sam.zoy.org/projects/COPYING.WTFPL for more details.
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <math.h>

#include "config.h"
#include "common.h"

#define FONTNAME "share/font_authimage.png"
static struct image *font = NULL;

/* Main function */
char *decode_authimage(struct image *img)
{
char *all = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *result;
struct image *tmp1, *tmp2, *tmp3;
int x, y, r, g, b, i;

if(!font)
{
font = image_load(FONTNAME);
if(!font)
{
fprintf(stderr, "cannot load font %s\n", FONTNAME);
exit(-1);
}
}

/* authimage captchas have 6 characters */
result = malloc(7 * sizeof(char));
memset(result, '\0', 7);

/* half the captchas are inverse video; we set them back to normal */
tmp1 = filter_scale(img, 2.0);
getpixel(img, 0, 0, &r, &g, &b);
tmp2 = filter_equalize(tmp1, r * 3 / 4);
tmp3 = filter_smooth(tmp2);

for(i = 0; i < 6; i++)
{
int mindiff = INT_MAX, minch = -1, ch;
for(ch = 0; ch < 36; ch++)
{
int diff = 0;
for(y = 0; y < 7; y++)
{
for(x = 0; x < 5; x++)
{
int newx, newy, r2;
newx = 35.0 + (x + 6 * i) * 218.0 / 34.0 + y * 5.0 / 6.0 + 0.5;
newy = 33.0 - (x + 6 * i) * 18.0 / 34.0 + y * 42.0 / 6.0 + 0.5;
getpixel(tmp3, newx, newy, &r, &g, &b);
getpixel(font, x + 6 * ch, y, &r2, &g, &b);
r = (r < 220) ? 0 : 255;
diff += (r - r2) * (r - r2);
}
}
if(diff < mindiff)
{
mindiff = diff;
minch = ch;
}
}
result[i] = all[minch];
}

image_free(tmp3);
image_free(tmp2);
image_free(tmp1);

return result;
}


+ 2
- 0
src/common.h 파일 보기

@@ -21,6 +21,7 @@ struct image
void dprintf(const char *fmt, ...);

/* available CAPTCHA decoders */
char *decode_authimage(struct image *img);
char *decode_linuxfr(struct image *img);
char *decode_phpbb(struct image *img);
char *decode_scode(struct image *img);
@@ -42,6 +43,7 @@ int setpixel(struct image *img, int x, int y, int r, int g, int b);
void filter_flood_fill(struct image *img, int x, int y, int r, int g, int b);
struct image *filter_fill_holes(struct image *img);
struct image *filter_dup(struct image *img);
struct image *filter_scale(struct image *img, float ratio);
struct image *filter_black_stuff(struct image *img);
struct image *filter_detect_lines(struct image *img);
struct image *filter_equalize(struct image *img, int threshold);


+ 21
- 0
src/filters.c 파일 보기

@@ -70,6 +70,27 @@ struct image *filter_dup(struct image *img)
return dst;
}

struct image *filter_scale(struct image *img, float ratio)
{
struct image *dst;
int w, h, x, y;
int r, g, b;

w = ratio * img->width;
h = ratio * img->height;

dst = image_new(w, h);

for(y = 0; y < h; y++)
for(x = 0; x < w; x++)
{
getpixel(img, x / ratio, y / ratio, &r, &g, &b);
setpixel(dst, x, y, r, g, b);
}

return dst;
}

struct image *filter_fill_holes(struct image *img)
{
struct image *dst;


+ 2
- 1
src/linuxfr.c 파일 보기

@@ -29,7 +29,7 @@ char *decode_linuxfr(struct image *img)
char *result;
struct image *tmp;
int x, y, r, g, b, i, j, c;
int stats[40];
int *stats = malloc(img->height * sizeof(int));

if(!font)
{
@@ -145,6 +145,7 @@ char *decode_linuxfr(struct image *img)
}

image_free(tmp);
free(stats);

if(strlen(result) != 7)
{


+ 10
- 4
src/main.c 파일 보기

@@ -124,6 +124,8 @@ int main(int argc, char *argv[])

if(!strcmp(mode, "test"))
result = decode_test(img);
else if(!strcmp(mode, "authimage"))
result = decode_authimage(img);
else if(!strcmp(mode, "linuxfr"))
result = decode_linuxfr(img);
else if(!strcmp(mode, "phpbb"))
@@ -136,7 +138,12 @@ int main(int argc, char *argv[])
result = decode_vbulletin(img);
else
{
if(img->width == 100 && img->height == 40)
if(img->width == 155 && img->height == 50)
{
dprintf("autodetected authimage captcha\n");
result = decode_authimage(img);
}
else if(img->width == 100 && img->height == 40 && count < 6)
{
dprintf("autodetected linuxfr captcha\n");
result = decode_linuxfr(img);
@@ -146,10 +153,9 @@ int main(int argc, char *argv[])
dprintf("autodetected phpBB captcha\n");
result = decode_phpbb(img);
}
else if((img->height == 25 || img->height == 30)
&& count < 10)
else if(img->height <= 40 && count < 10)
{
dprintf("autodetected scode captcha\n");
dprintf("autodetected scode/trencaspammers captcha\n");
result = decode_scode(img);
}
else if(img->height == 69)


+ 1
- 0
testsuite/Makefile.am 파일 보기

@@ -3,6 +3,7 @@ NULL =
EXTRA_DIST = \
README \
auditor/auditor00.png auditor/auditor01.png auditor/auditor02.png auditor/auditor03.png auditor/auditor04.png auditor/auditor05.png auditor/auditor06.png auditor/auditor07.png auditor/auditor08.png auditor/auditor09.png auditor/auditor10.png auditor/auditor11.png auditor/auditor12.png auditor/auditor13.png auditor/auditor14.png auditor/auditor15.png auditor/auditor16.png auditor/auditor17.png auditor/auditor18.png auditor/auditor19.png auditor/auditor20.png auditor/auditor21.png auditor/auditor22.png auditor/auditor23.png auditor/auditor24.png auditor/auditor25.png auditor/auditor26.png auditor/auditor27.png auditor/auditor28.png auditor/auditor29.png auditor/auditor30.png auditor/auditor31.png auditor/auditor32.png auditor/auditor33.png auditor/auditor34.png auditor/auditor35.png auditor/auditor36.png auditor/auditor37.png auditor/auditor38.png auditor/auditor39.png auditor/auditor40.png auditor/auditor41.png auditor/auditor42.png auditor/auditor43.png auditor/auditor44.png auditor/auditor45.png auditor/auditor46.png auditor/auditor47.png auditor/auditor48.png auditor/auditor49.png auditor/auditor50.png auditor/auditor51.png auditor/auditor52.png auditor/auditor53.png auditor/auditor54.png auditor/auditor55.png auditor/auditor56.png auditor/auditor57.png auditor/auditor58.png auditor/auditor59.png auditor/auditor60.png auditor/auditor61.png auditor/auditor62.png auditor/auditor63.png auditor/auditor64.png auditor/auditor65.png auditor/auditor66.png auditor/auditor67.png auditor/auditor68.png auditor/auditor69.png auditor/auditor70.png auditor/auditor71.png auditor/auditor72.png auditor/auditor73.png auditor/auditor74.png auditor/auditor75.png auditor/auditor76.png auditor/auditor77.png auditor/auditor78.png auditor/auditor79.png auditor/auditor80.png auditor/auditor81.png auditor/auditor82.png auditor/auditor83.png auditor/auditor84.png auditor/auditor85.png auditor/auditor86.png auditor/auditor87.png auditor/auditor88.png auditor/auditor89.png auditor/auditor90.png auditor/auditor91.png auditor/auditor92.png auditor/auditor93.png auditor/auditor94.png auditor/auditor95.png auditor/auditor96.png auditor/auditor97.png auditor/auditor98.png auditor/auditor99.png auditor/control.txt \
authimage/authimage00.jpeg authimage/authimage01.jpeg authimage/authimage02.jpeg authimage/authimage03.jpeg authimage/authimage04.jpeg authimage/authimage05.jpeg authimage/authimage06.jpeg authimage/authimage07.jpeg authimage/authimage08.jpeg authimage/authimage09.jpeg authimage/authimage10.jpeg authimage/authimage11.jpeg authimage/authimage12.jpeg authimage/authimage13.jpeg authimage/authimage14.jpeg authimage/authimage15.jpeg authimage/authimage16.jpeg authimage/authimage17.jpeg authimage/authimage18.jpeg authimage/authimage19.jpeg authimage/authimage20.jpeg authimage/authimage21.jpeg authimage/authimage22.jpeg authimage/authimage23.jpeg authimage/authimage24.jpeg authimage/authimage25.jpeg authimage/authimage26.jpeg authimage/authimage27.jpeg authimage/authimage28.jpeg authimage/authimage29.jpeg authimage/authimage30.jpeg authimage/authimage31.jpeg authimage/authimage32.jpeg authimage/authimage33.jpeg authimage/authimage34.jpeg authimage/authimage35.jpeg authimage/authimage36.jpeg authimage/authimage37.jpeg authimage/authimage38.jpeg authimage/authimage39.jpeg authimage/authimage40.jpeg authimage/authimage41.jpeg authimage/authimage42.jpeg authimage/authimage43.jpeg authimage/authimage44.jpeg authimage/authimage45.jpeg authimage/authimage46.jpeg authimage/authimage47.jpeg authimage/authimage48.jpeg authimage/authimage49.jpeg authimage/authimage50.jpeg authimage/authimage51.jpeg authimage/authimage52.jpeg authimage/authimage53.jpeg authimage/authimage54.jpeg authimage/authimage55.jpeg authimage/authimage56.jpeg authimage/authimage57.jpeg authimage/authimage58.jpeg authimage/authimage59.jpeg authimage/authimage60.jpeg authimage/authimage61.jpeg authimage/authimage62.jpeg authimage/authimage63.jpeg authimage/authimage64.jpeg authimage/authimage65.jpeg authimage/authimage66.jpeg authimage/authimage67.jpeg authimage/authimage68.jpeg authimage/authimage69.jpeg authimage/authimage70.jpeg authimage/authimage71.jpeg authimage/authimage72.jpeg authimage/authimage73.jpeg authimage/authimage74.jpeg authimage/authimage75.jpeg authimage/authimage76.jpeg authimage/authimage77.jpeg authimage/authimage78.jpeg authimage/authimage79.jpeg authimage/authimage80.jpeg authimage/authimage81.jpeg authimage/authimage82.jpeg authimage/authimage83.jpeg authimage/authimage84.jpeg authimage/authimage85.jpeg authimage/authimage86.jpeg authimage/authimage87.jpeg authimage/authimage88.jpeg authimage/authimage89.jpeg authimage/authimage90.jpeg authimage/authimage91.jpeg authimage/authimage92.jpeg authimage/authimage93.jpeg authimage/authimage94.jpeg authimage/authimage95.jpeg authimage/authimage96.jpeg authimage/authimage97.jpeg authimage/authimage98.jpeg authimage/authimage99.jpeg authimage/control.txt \
cfxcaptcha/cvxcaptcha00.jpeg cfxcaptcha/cvxcaptcha01.jpeg cfxcaptcha/cvxcaptcha02.jpeg cfxcaptcha/cvxcaptcha03.jpeg cfxcaptcha/cvxcaptcha04.jpeg cfxcaptcha/cvxcaptcha05.jpeg cfxcaptcha/cvxcaptcha06.jpeg cfxcaptcha/cvxcaptcha07.jpeg cfxcaptcha/cvxcaptcha08.jpeg cfxcaptcha/cvxcaptcha09.jpeg cfxcaptcha/cvxcaptcha10.jpeg cfxcaptcha/cvxcaptcha11.jpeg cfxcaptcha/cvxcaptcha12.jpeg cfxcaptcha/cvxcaptcha13.jpeg cfxcaptcha/cvxcaptcha14.jpeg cfxcaptcha/cvxcaptcha15.jpeg cfxcaptcha/cvxcaptcha16.jpeg cfxcaptcha/cvxcaptcha17.jpeg cfxcaptcha/cvxcaptcha18.jpeg cfxcaptcha/cvxcaptcha19.jpeg cfxcaptcha/cvxcaptcha20.jpeg cfxcaptcha/cvxcaptcha21.jpeg cfxcaptcha/cvxcaptcha22.jpeg cfxcaptcha/cvxcaptcha23.jpeg cfxcaptcha/cvxcaptcha24.jpeg cfxcaptcha/cvxcaptcha25.jpeg cfxcaptcha/cvxcaptcha26.jpeg cfxcaptcha/cvxcaptcha27.jpeg cfxcaptcha/cvxcaptcha28.jpeg cfxcaptcha/cvxcaptcha29.jpeg cfxcaptcha/cvxcaptcha30.jpeg cfxcaptcha/cvxcaptcha31.jpeg cfxcaptcha/cvxcaptcha32.jpeg cfxcaptcha/cvxcaptcha33.jpeg cfxcaptcha/cvxcaptcha34.jpeg cfxcaptcha/cvxcaptcha35.jpeg cfxcaptcha/cvxcaptcha36.jpeg cfxcaptcha/cvxcaptcha37.jpeg cfxcaptcha/cvxcaptcha38.jpeg cfxcaptcha/cvxcaptcha39.jpeg cfxcaptcha/cvxcaptcha40.jpeg cfxcaptcha/cvxcaptcha41.jpeg cfxcaptcha/cvxcaptcha42.jpeg cfxcaptcha/cvxcaptcha43.jpeg cfxcaptcha/cvxcaptcha44.jpeg cfxcaptcha/cvxcaptcha45.jpeg cfxcaptcha/cvxcaptcha46.jpeg cfxcaptcha/cvxcaptcha47.jpeg cfxcaptcha/cvxcaptcha48.jpeg cfxcaptcha/cvxcaptcha49.jpeg cfxcaptcha/cvxcaptcha50.jpeg cfxcaptcha/cvxcaptcha51.jpeg cfxcaptcha/cvxcaptcha52.jpeg cfxcaptcha/cvxcaptcha53.jpeg cfxcaptcha/cvxcaptcha54.jpeg cfxcaptcha/cvxcaptcha55.jpeg cfxcaptcha/cvxcaptcha56.jpeg cfxcaptcha/cvxcaptcha57.jpeg cfxcaptcha/cvxcaptcha58.jpeg cfxcaptcha/cvxcaptcha59.jpeg cfxcaptcha/cvxcaptcha60.jpeg cfxcaptcha/cvxcaptcha61.jpeg cfxcaptcha/cvxcaptcha62.jpeg cfxcaptcha/cvxcaptcha63.jpeg cfxcaptcha/cvxcaptcha64.jpeg cfxcaptcha/cvxcaptcha65.jpeg cfxcaptcha/cvxcaptcha66.jpeg cfxcaptcha/cvxcaptcha67.jpeg cfxcaptcha/cvxcaptcha68.jpeg cfxcaptcha/cvxcaptcha69.jpeg cfxcaptcha/cvxcaptcha70.jpeg cfxcaptcha/cvxcaptcha71.jpeg cfxcaptcha/cvxcaptcha72.jpeg cfxcaptcha/cvxcaptcha73.jpeg cfxcaptcha/cvxcaptcha74.jpeg cfxcaptcha/cvxcaptcha75.jpeg cfxcaptcha/cvxcaptcha76.jpeg cfxcaptcha/cvxcaptcha77.jpeg cfxcaptcha/cvxcaptcha78.jpeg cfxcaptcha/cvxcaptcha79.jpeg cfxcaptcha/cvxcaptcha80.jpeg cfxcaptcha/cvxcaptcha81.jpeg cfxcaptcha/cvxcaptcha82.jpeg cfxcaptcha/cvxcaptcha83.jpeg cfxcaptcha/cvxcaptcha84.jpeg cfxcaptcha/cvxcaptcha85.jpeg cfxcaptcha/cvxcaptcha86.jpeg cfxcaptcha/cvxcaptcha87.jpeg cfxcaptcha/cvxcaptcha88.jpeg cfxcaptcha/cvxcaptcha89.jpeg cfxcaptcha/cvxcaptcha90.jpeg cfxcaptcha/cvxcaptcha91.jpeg cfxcaptcha/cvxcaptcha92.jpeg cfxcaptcha/cvxcaptcha93.jpeg cfxcaptcha/cvxcaptcha94.jpeg cfxcaptcha/cvxcaptcha95.jpeg cfxcaptcha/cvxcaptcha96.jpeg cfxcaptcha/cvxcaptcha97.jpeg cfxcaptcha/cvxcaptcha98.jpeg cfxcaptcha/cvxcaptcha99.jpeg \
icq/icq00.jpeg icq/icq01.jpeg icq/icq02.jpeg icq/icq03.jpeg icq/icq04.jpeg icq/icq05.jpeg icq/icq06.jpeg icq/icq07.jpeg icq/icq08.jpeg icq/icq09.jpeg icq/icq10.jpeg icq/icq11.jpeg icq/icq12.jpeg icq/icq13.jpeg icq/icq14.jpeg icq/icq15.jpeg icq/icq16.jpeg icq/icq17.jpeg icq/icq18.jpeg icq/icq19.jpeg icq/icq20.jpeg icq/icq21.jpeg icq/icq22.jpeg icq/icq23.jpeg icq/icq24.jpeg icq/icq25.jpeg icq/icq26.jpeg icq/icq27.jpeg icq/icq28.jpeg icq/icq29.jpeg icq/icq30.jpeg icq/icq31.jpeg icq/icq32.jpeg icq/icq33.jpeg icq/icq34.jpeg icq/icq35.jpeg icq/icq36.jpeg icq/icq37.jpeg icq/icq38.jpeg icq/icq39.jpeg icq/icq40.jpeg icq/icq41.jpeg icq/icq42.jpeg icq/icq43.jpeg icq/icq44.jpeg icq/icq45.jpeg icq/icq46.jpeg icq/icq47.jpeg icq/icq48.jpeg icq/icq49.jpeg icq/icq50.jpeg icq/icq51.jpeg icq/icq52.jpeg icq/icq53.jpeg icq/icq54.jpeg icq/icq55.jpeg icq/icq56.jpeg icq/icq57.jpeg icq/icq58.jpeg icq/icq59.jpeg icq/icq60.jpeg icq/icq61.jpeg icq/icq62.jpeg icq/icq63.jpeg icq/icq64.jpeg icq/icq65.jpeg icq/icq66.jpeg icq/icq67.jpeg icq/icq68.jpeg icq/icq69.jpeg icq/icq70.jpeg icq/icq71.jpeg icq/icq72.jpeg icq/icq73.jpeg icq/icq74.jpeg icq/icq75.jpeg icq/icq76.jpeg icq/icq77.jpeg icq/icq78.jpeg icq/icq79.jpeg icq/icq80.jpeg icq/icq81.jpeg icq/icq82.jpeg icq/icq83.jpeg icq/icq84.jpeg icq/icq85.jpeg icq/icq86.jpeg icq/icq87.jpeg icq/icq88.jpeg icq/icq89.jpeg icq/icq90.jpeg icq/icq91.jpeg icq/icq92.jpeg icq/icq93.jpeg icq/icq94.jpeg icq/icq95.jpeg icq/icq96.jpeg icq/icq97.jpeg icq/icq98.jpeg icq/icq99.jpeg \
linuxfr/linuxfr00.png linuxfr/linuxfr01.png linuxfr/linuxfr02.png linuxfr/linuxfr03.png linuxfr/linuxfr04.png linuxfr/linuxfr05.png linuxfr/linuxfr06.png linuxfr/linuxfr07.png linuxfr/linuxfr08.png linuxfr/linuxfr09.png linuxfr/linuxfr10.png linuxfr/linuxfr11.png linuxfr/linuxfr12.png linuxfr/linuxfr13.png linuxfr/linuxfr14.png linuxfr/linuxfr15.png linuxfr/linuxfr16.png linuxfr/linuxfr17.png linuxfr/linuxfr18.png linuxfr/linuxfr19.png linuxfr/linuxfr20.png linuxfr/linuxfr21.png linuxfr/linuxfr22.png linuxfr/linuxfr23.png linuxfr/linuxfr24.png linuxfr/linuxfr25.png linuxfr/linuxfr26.png linuxfr/linuxfr27.png linuxfr/linuxfr28.png linuxfr/linuxfr29.png linuxfr/linuxfr30.png linuxfr/linuxfr31.png linuxfr/linuxfr32.png linuxfr/linuxfr33.png linuxfr/linuxfr34.png linuxfr/linuxfr35.png linuxfr/linuxfr36.png linuxfr/linuxfr37.png linuxfr/linuxfr38.png linuxfr/linuxfr39.png linuxfr/linuxfr40.png linuxfr/linuxfr41.png linuxfr/linuxfr42.png linuxfr/linuxfr43.png linuxfr/linuxfr44.png linuxfr/linuxfr45.png linuxfr/linuxfr46.png linuxfr/linuxfr47.png linuxfr/linuxfr48.png linuxfr/linuxfr49.png linuxfr/linuxfr50.png linuxfr/linuxfr51.png linuxfr/linuxfr52.png linuxfr/linuxfr53.png linuxfr/linuxfr54.png linuxfr/linuxfr55.png linuxfr/linuxfr56.png linuxfr/linuxfr57.png linuxfr/linuxfr58.png linuxfr/linuxfr59.png linuxfr/linuxfr60.png linuxfr/linuxfr61.png linuxfr/linuxfr62.png linuxfr/linuxfr63.png linuxfr/linuxfr64.png linuxfr/linuxfr65.png linuxfr/linuxfr66.png linuxfr/linuxfr67.png linuxfr/linuxfr68.png linuxfr/linuxfr69.png linuxfr/linuxfr70.png linuxfr/linuxfr71.png linuxfr/linuxfr72.png linuxfr/linuxfr73.png linuxfr/linuxfr74.png linuxfr/linuxfr75.png linuxfr/linuxfr76.png linuxfr/linuxfr77.png linuxfr/linuxfr78.png linuxfr/linuxfr79.png linuxfr/linuxfr80.png linuxfr/linuxfr81.png linuxfr/linuxfr82.png linuxfr/linuxfr83.png linuxfr/linuxfr84.png linuxfr/linuxfr85.png linuxfr/linuxfr86.png linuxfr/linuxfr87.png linuxfr/linuxfr88.png linuxfr/linuxfr89.png linuxfr/linuxfr90.png linuxfr/linuxfr91.png linuxfr/linuxfr92.png linuxfr/linuxfr93.png linuxfr/linuxfr94.png linuxfr/linuxfr95.png linuxfr/linuxfr96.png linuxfr/linuxfr97.png linuxfr/linuxfr98.png linuxfr/linuxfr99.png linuxfr/control.txt \


+ 3
- 0
testsuite/README 파일 보기

@@ -3,6 +3,9 @@ Repository of captchas collected on the web.
auditor
-------

authimage
---------

cfxcaptcha
----------
http://www.emerle.net/programming/display.cfm/t/cfx_captcha


BIN
testsuite/authimage/authimage00.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage01.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage02.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage03.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage04.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage05.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage06.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage07.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage08.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage09.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage10.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage11.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage12.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage13.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage14.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 1.9 KiB

BIN
testsuite/authimage/authimage15.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage16.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage17.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage18.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage19.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage20.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage21.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 1.9 KiB

BIN
testsuite/authimage/authimage22.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage23.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage24.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 1.9 KiB

BIN
testsuite/authimage/authimage25.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage26.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.2 KiB

BIN
testsuite/authimage/authimage27.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage28.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage29.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage30.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 1.9 KiB

BIN
testsuite/authimage/authimage31.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage32.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage33.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage34.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 1.9 KiB

BIN
testsuite/authimage/authimage35.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage36.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage37.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage38.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage39.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage40.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage41.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage42.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage43.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage44.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage45.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 1.9 KiB

BIN
testsuite/authimage/authimage46.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.2 KiB

BIN
testsuite/authimage/authimage47.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage48.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage49.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage50.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage51.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage52.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage53.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage54.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage55.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage56.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage57.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage58.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 1.9 KiB

BIN
testsuite/authimage/authimage59.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage60.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage61.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage62.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage63.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage64.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage65.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage66.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage67.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage68.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage69.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage70.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage71.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage72.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage73.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage74.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.2 KiB

BIN
testsuite/authimage/authimage75.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage76.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage77.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage78.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage79.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage80.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage81.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage82.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage83.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage84.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage85.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage86.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.1 KiB

BIN
testsuite/authimage/authimage87.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.2 KiB

BIN
testsuite/authimage/authimage88.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage89.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

BIN
testsuite/authimage/authimage90.jpeg 파일 보기

Before After
Width: 155  |  Height: 50  |  Size: 2.0 KiB

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.

불러오는 중...
취소
저장