git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/pwntcha/trunk@421 92316355-f0b4-4df1-b90c-862c8a59935fmaster
| @@ -18,6 +18,7 @@ | |||
| #include "common.h" | |||
| #define FONTNAME "share/font_linuxfr.png" | |||
| static struct image *font = NULL; | |||
| /* Main function */ | |||
| char *decode_linuxfr(struct image *img) | |||
| @@ -26,15 +27,18 @@ char *decode_linuxfr(struct image *img) | |||
| "ABCDEFGHIJKLMNOPQRSTUVWXYZ" | |||
| "0123456789"; | |||
| char *result; | |||
| struct image *tmp, *font; | |||
| struct image *tmp; | |||
| int x, y, r, g, b, i, j, c; | |||
| int stats[40]; | |||
| font = image_load(FONTNAME); | |||
| if(!font) | |||
| { | |||
| fprintf(stderr, "cannot load font %s\n", FONTNAME); | |||
| exit(-1); | |||
| font = image_load(FONTNAME); | |||
| if(!font) | |||
| { | |||
| fprintf(stderr, "cannot load font %s\n", FONTNAME); | |||
| exit(-1); | |||
| } | |||
| } | |||
| /* linuxfr captchas have 7 characters */ | |||
| @@ -141,7 +145,6 @@ char *decode_linuxfr(struct image *img) | |||
| } | |||
| image_free(tmp); | |||
| image_free(font); | |||
| if(strlen(result) != 7) | |||
| { | |||
| @@ -19,6 +19,7 @@ | |||
| /* Our macros */ | |||
| #define FONTNAME "share/font_phpbb.png" | |||
| static struct image *font = NULL; | |||
| /* Main function */ | |||
| char *decode_phpbb(struct image *img) | |||
| @@ -26,7 +27,6 @@ char *decode_phpbb(struct image *img) | |||
| char all[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"; | |||
| char *result; | |||
| struct image *tmp1, *tmp2, *tmp3; | |||
| struct image *font = image_load(FONTNAME); | |||
| int x, y, i = 0; | |||
| int r, g, b; | |||
| int xmin, xmax, ymin, ymax, cur, offset = -1; | |||
| @@ -34,8 +34,12 @@ char *decode_phpbb(struct image *img) | |||
| if(!font) | |||
| { | |||
| fprintf(stderr, "cannot load font %s\n", FONTNAME); | |||
| exit(-1); | |||
| font = image_load(FONTNAME); | |||
| if(!font) | |||
| { | |||
| fprintf(stderr, "cannot load font %s\n", FONTNAME); | |||
| exit(-1); | |||
| } | |||
| } | |||
| /* phpBB captchas have 6 characters */ | |||
| @@ -125,7 +129,6 @@ char *decode_phpbb(struct image *img) | |||
| image_free(tmp1); | |||
| image_free(tmp2); | |||
| image_free(tmp3); | |||
| image_free(font); | |||
| return result; | |||
| } | |||
| @@ -18,16 +18,17 @@ | |||
| #include "config.h" | |||
| #include "common.h" | |||
| static struct image *count_objects(struct image *img); | |||
| static struct image *rotate(struct image *img); | |||
| static struct image *cut_cells(struct image *img); | |||
| static struct image *find_glyphs(struct image *img); | |||
| /* Our macros */ | |||
| #define FACTOR 1 | |||
| #define FONTNAME "share/font_slashdot.png" // use with FACTOR = 1 | |||
| //#define FONTNAME "share/font.png" // use with FACTOR = 2 | |||
| //#define FONTNAME "share/font_dilated.png" // use with FACTOR = 2 | |||
| static struct image *count_objects(struct image *img); | |||
| static struct image *rotate(struct image *img); | |||
| static struct image *cut_cells(struct image *img); | |||
| static struct image *find_glyphs(struct image *img); | |||
| static struct image *font = NULL; | |||
| /* Global stuff */ | |||
| struct { int xmin, ymin, xmax, ymax; } objlist[100]; | |||
| @@ -237,7 +238,6 @@ static struct image *find_glyphs(struct image *img) | |||
| } | |||
| glyphs[22]; | |||
| struct image *dst; | |||
| struct image *font = image_load(FONTNAME); | |||
| int x, y, i = 0; | |||
| int r, g, b; | |||
| int xmin, xmax, ymin, ymax, incell = 0, count = 0, startx = 0, cur = 0; | |||
| @@ -245,8 +245,12 @@ static struct image *find_glyphs(struct image *img) | |||
| if(!font) | |||
| { | |||
| fprintf(stderr, "cannot load font %s\n", FONTNAME); | |||
| exit(-1); | |||
| font = image_load(FONTNAME); | |||
| if(!font) | |||
| { | |||
| fprintf(stderr, "cannot load font %s\n", FONTNAME); | |||
| exit(-1); | |||
| } | |||
| } | |||
| dst = image_new(img->width, img->height); | |||
| @@ -18,21 +18,25 @@ | |||
| #include "common.h" | |||
| #define FONTNAME "share/font_vbulletin.png" | |||
| static struct image *font = NULL; | |||
| /* Main function */ | |||
| char *decode_vbulletin(struct image *img) | |||
| { | |||
| char all[] = "2346789ABCDEFGHJKLMNPRTWXYZ"; | |||
| char *result; | |||
| struct image *tmp1, *tmp2, *tmp3, *font; | |||
| struct image *tmp1, *tmp2, *tmp3; | |||
| int limits[6] = { 26, 53, 80, 107, 134, 160 }; | |||
| int x, y, r, g, b, i, j; | |||
| font = image_load(FONTNAME); | |||
| if(!font) | |||
| { | |||
| fprintf(stderr, "cannot load font %s\n", FONTNAME); | |||
| exit(-1); | |||
| font = image_load(FONTNAME); | |||
| if(!font) | |||
| { | |||
| fprintf(stderr, "cannot load font %s\n", FONTNAME); | |||
| exit(-1); | |||
| } | |||
| } | |||
| /* vBulletin captchas have 6 characters */ | |||
| @@ -134,7 +138,6 @@ char *decode_vbulletin(struct image *img) | |||
| image_free(tmp1); | |||
| image_free(tmp2); | |||
| image_free(tmp3); | |||
| image_free(font); | |||
| return result; | |||
| } | |||