Browse Source

* linuxfr.org captchas

git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/pwntcha/trunk@419 92316355-f0b4-4df1-b90c-862c8a59935f
master
sam 20 years ago
parent
commit
10a438c117
11 changed files with 286 additions and 4 deletions
  1. +2
    -1
      Makefile.am
  2. +2
    -1
      extras/Makefile.am
  3. +5
    -0
      extras/NOTES
  4. +11
    -0
      extras/font_linuxfr.php
  5. BIN
      share/font_linuxfr.png
  6. +1
    -0
      src/Makefile.am
  7. +1
    -0
      src/common.h
  8. +155
    -0
      src/linuxfr.c
  9. +8
    -1
      src/main.c
  10. +1
    -1
      testsuite/Makefile.am
  11. +100
    -0
      testsuite/linuxfr/control.txt

+ 2
- 1
Makefile.am View File

@@ -6,8 +6,9 @@ DIST_SUBDIRS = $(SUBDIRS) extras testsuite
EXTRA_DIST = \
bootstrap \
ChangeLog \
share/font_slashdot.png \
share/font_linuxfr.png \
share/font_phpbb.png \
share/font_slashdot.png \
share/font_vbulletin.png \
$(NULL)



+ 2
- 1
extras/Makefile.am View File

@@ -2,7 +2,8 @@ NULL =

EXTRA_DIST = \
NOTES \
usercp_confirm.php \
font_linuxfr.php \
getphpbbcaptcha.py \
usercp_confirm.php \
$(NULL)


+ 5
- 0
extras/NOTES View File

@@ -17,3 +17,8 @@ getphpbbcaptcha.py

Usage: getphpbbcaptcha.py > captcha.png

font_linuxfr.php
----------------
This file is used to create the linuxfr font.

Usage: php4 font_linuxfr.php > font_linuxfr.png

+ 11
- 0
extras/font_linuxfr.php View File

@@ -0,0 +1,11 @@
<?php
dl("gd.so");
header("Content-type: image/png");
$s = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$im = imagecreate(strlen($s) * 9, 12);
$bg = imagecolorallocate($im, 255, 255, 255);
$fg = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 5, 0, -3, $s, $fg);
imagepng($im);
imagedestroy($im);
?>

BIN
share/font_linuxfr.png View File

Before After
Width: 558  |  Height: 12  |  Size: 626 B

+ 1
- 0
src/Makefile.am View File

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


+ 1
- 0
src/common.h View File

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

/* available CAPTCHA decoders */
char *decode_linuxfr(struct image *img);
char *decode_phpbb(struct image *img);
char *decode_scode(struct image *img);
char *decode_slashdot(struct image *img);


+ 155
- 0
src/linuxfr.c View File

@@ -0,0 +1,155 @@
/*
* linuxfr.c: decode linuxfr.org 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 "config.h"
#include "common.h"

#define FONTNAME "share/font_linuxfr.png"

/* Main function */
char *decode_linuxfr(struct image *img)
{
char all[] = "abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789";
char *result;
struct image *tmp, *font;
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);
}

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

tmp = filter_equalize(img, 150);

for(y = 0; y < img->height; y++)
{
int count = 0;
for(x = 0; x < img->width; x++)
{
getpixel(tmp, x, y, &r, &g, &b);
if(r == 0)
count++;
}
stats[y] = count;
}

/* Find 7 consecutive lines that have at least 14 pixels; they're
* baseline candidates */
for(y = 0; y < img->height - 11; y++)
{
int ycan = 1;
for(j = 3; j < 10; j++)
{
if(stats[y + j] < 14)
{
ycan = 0;
y = y + j - 3;
break;
}
}
if(!ycan)
continue;

/* Find 7 consecutive cells that have at least 2 pixels on
* each line; they're base column candidates */
for(x = 0; x < img->width - 9 * 7 + 1; x++)
{
int xcan = 1;
for(c = 0; c < 7; c++, xcan)
{
for(j = 3; j < 10; j++)
{
int count = 0;
for(i = 0; i < 8; i++)
{
getpixel(tmp, x + c * 9 + i, y + j, &r, &g, &b);
if(r == 0)
{
count++;
if(count == 2)
break;
}
}
if(count < 2)
{
xcan = 0;
break;
}
}
}
if(!xcan)
continue;

/* Now we have an (x,y) candidate - try to fit 7 characters */
for(c = 0; c < 7; c++, xcan)
{
int r2, g2, b2, test, tcan;
for(test = 0; test < 62; test++)
{
tcan = 1;
for(j = 0; j < 12; j++, tcan)
for(i = 0; i < 8; i++)
{
getpixel(tmp, x + c * 9 + i, y + j, &r, &g, &b);
getpixel(font, test * 9 + i, j, &r2, &g2, &b2);
/* Only die if font is black and image is white */
if(r > r2)
{
tcan = 0;
break;
}
}
if(tcan)
{
result[c] = all[test];
result[c+1] = '\0';
break;
}
}
if(!tcan)
{
xcan = 0;
break;
}
}
if(xcan)
{
break;
}
}
}

image_free(tmp);
image_free(font);

if(strlen(result) != 7)
{
free(result);
return NULL;
}

return result;
}


+ 8
- 1
src/main.c View File

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

if(!strcmp(mode, "test"))
result = decode_test(img);
else if(!strcmp(mode, "linuxfr"))
result = decode_linuxfr(img);
else if(!strcmp(mode, "phpbb"))
result = decode_phpbb(img);
else if(!strcmp(mode, "scode"))
@@ -134,7 +136,12 @@ int main(int argc, char *argv[])
result = decode_vbulletin(img);
else
{
if(img->width == 320 && img->height == 50)
if(img->width == 100 && img->height == 40)
{
dprintf("autodetected linuxfr captcha\n");
result = decode_linuxfr(img);
}
else if(img->width == 320 && img->height == 50)
{
dprintf("autodetected phpBB captcha\n");
result = decode_phpbb(img);


+ 1
- 1
testsuite/Makefile.am View File

@@ -4,7 +4,7 @@ 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 \
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 \
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/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 \
livejournal/livejournal00.png livejournal/livejournal01.png livejournal/livejournal02.png livejournal/livejournal03.png livejournal/livejournal04.png livejournal/livejournal05.png livejournal/livejournal06.png livejournal/livejournal07.png livejournal/livejournal08.png livejournal/livejournal09.png livejournal/livejournal10.png livejournal/livejournal11.png livejournal/livejournal12.png livejournal/livejournal13.png livejournal/livejournal14.png livejournal/livejournal15.png livejournal/livejournal16.png livejournal/livejournal17.png livejournal/livejournal18.png livejournal/livejournal19.png livejournal/livejournal20.png livejournal/livejournal21.png livejournal/livejournal22.png livejournal/livejournal23.png livejournal/livejournal24.png livejournal/livejournal25.png livejournal/livejournal26.png livejournal/livejournal27.png livejournal/livejournal28.png livejournal/livejournal29.png livejournal/livejournal30.png livejournal/livejournal31.png livejournal/livejournal32.png livejournal/livejournal33.png livejournal/livejournal34.png livejournal/livejournal35.png livejournal/livejournal36.png livejournal/livejournal37.png livejournal/livejournal38.png livejournal/livejournal39.png livejournal/livejournal40.png livejournal/livejournal41.png livejournal/livejournal42.png livejournal/livejournal43.png livejournal/livejournal44.png livejournal/livejournal45.png livejournal/livejournal46.png livejournal/livejournal47.png livejournal/livejournal48.png livejournal/livejournal49.png livejournal/livejournal50.png livejournal/livejournal51.png livejournal/livejournal52.png livejournal/livejournal53.png livejournal/livejournal54.png livejournal/livejournal55.png livejournal/livejournal56.png livejournal/livejournal57.png livejournal/livejournal58.png livejournal/livejournal59.png livejournal/livejournal60.png livejournal/livejournal61.png livejournal/livejournal62.png livejournal/livejournal63.png livejournal/livejournal64.png livejournal/livejournal65.png livejournal/livejournal66.png livejournal/livejournal67.png livejournal/livejournal68.png livejournal/livejournal69.png livejournal/livejournal70.png livejournal/livejournal71.png livejournal/livejournal72.png livejournal/livejournal73.png livejournal/livejournal74.png livejournal/livejournal75.png livejournal/livejournal76.png livejournal/livejournal77.png livejournal/livejournal78.png livejournal/livejournal79.png livejournal/livejournal80.png livejournal/livejournal81.png livejournal/livejournal82.png livejournal/livejournal83.png livejournal/livejournal84.png livejournal/livejournal85.png livejournal/livejournal86.png livejournal/livejournal87.png livejournal/livejournal88.png livejournal/livejournal89.png livejournal/livejournal90.png livejournal/livejournal91.png livejournal/livejournal92.png livejournal/livejournal93.png livejournal/livejournal94.png livejournal/livejournal95.png livejournal/livejournal96.png livejournal/livejournal97.png livejournal/livejournal98.png livejournal/livejournal99.png \
passport/passport00.jpeg passport/passport01.jpeg passport/passport02.jpeg passport/passport03.jpeg passport/passport04.jpeg passport/passport05.jpeg passport/passport06.jpeg passport/passport07.jpeg passport/passport08.jpeg passport/passport09.jpeg passport/passport10.jpeg passport/passport11.jpeg passport/passport12.jpeg passport/passport13.jpeg passport/passport14.jpeg passport/passport15.jpeg passport/passport16.jpeg passport/passport17.jpeg passport/passport18.jpeg passport/passport19.jpeg passport/passport20.jpeg passport/passport21.jpeg passport/passport22.jpeg passport/passport23.jpeg passport/passport24.jpeg passport/passport25.jpeg passport/passport26.jpeg passport/passport27.jpeg passport/passport28.jpeg passport/passport29.jpeg passport/passport30.jpeg passport/passport31.jpeg passport/passport32.jpeg passport/passport33.jpeg passport/passport34.jpeg passport/passport35.jpeg passport/passport36.jpeg passport/passport37.jpeg passport/passport38.jpeg passport/passport39.jpeg passport/passport40.jpeg passport/passport41.jpeg passport/passport42.jpeg passport/passport43.jpeg passport/passport44.jpeg passport/passport45.jpeg passport/passport46.jpeg passport/passport47.jpeg passport/passport48.jpeg passport/passport49.jpeg passport/passport50.jpeg passport/passport51.jpeg passport/passport52.jpeg passport/passport53.jpeg passport/passport54.jpeg passport/passport55.jpeg passport/passport56.jpeg passport/passport57.jpeg passport/passport58.jpeg passport/passport59.jpeg passport/passport60.jpeg passport/passport61.jpeg passport/passport62.jpeg passport/passport63.jpeg passport/passport64.jpeg passport/passport65.jpeg passport/passport66.jpeg passport/passport67.jpeg passport/passport68.jpeg passport/passport69.jpeg passport/passport70.jpeg passport/passport71.jpeg passport/passport72.jpeg passport/passport73.jpeg passport/passport74.jpeg passport/passport75.jpeg passport/passport76.jpeg passport/passport77.jpeg passport/passport78.jpeg passport/passport79.jpeg passport/passport80.jpeg passport/passport81.jpeg passport/passport82.jpeg passport/passport83.jpeg passport/passport84.jpeg passport/passport85.jpeg passport/passport86.jpeg passport/passport87.jpeg passport/passport88.jpeg passport/passport89.jpeg passport/passport90.jpeg passport/passport91.jpeg passport/passport92.jpeg passport/passport93.jpeg passport/passport94.jpeg passport/passport95.jpeg passport/passport96.jpeg passport/passport97.jpeg passport/passport98.jpeg passport/passport99.jpeg \
phpbb/phpbb00.png phpbb/phpbb01.png phpbb/phpbb02.png phpbb/phpbb03.png phpbb/phpbb04.png phpbb/phpbb05.png phpbb/phpbb06.png phpbb/phpbb07.png phpbb/phpbb08.png phpbb/phpbb09.png phpbb/phpbb10.png phpbb/phpbb11.png phpbb/phpbb12.png phpbb/phpbb13.png phpbb/phpbb14.png phpbb/phpbb15.png phpbb/phpbb16.png phpbb/phpbb17.png phpbb/phpbb18.png phpbb/phpbb19.png phpbb/phpbb20.png phpbb/phpbb21.png phpbb/phpbb22.png phpbb/phpbb23.png phpbb/phpbb24.png phpbb/phpbb25.png phpbb/phpbb26.png phpbb/phpbb27.png phpbb/phpbb28.png phpbb/phpbb29.png phpbb/phpbb30.png phpbb/phpbb31.png phpbb/phpbb32.png phpbb/phpbb33.png phpbb/phpbb34.png phpbb/phpbb35.png phpbb/phpbb36.png phpbb/phpbb37.png phpbb/phpbb38.png phpbb/phpbb39.png phpbb/phpbb40.png phpbb/phpbb41.png phpbb/phpbb42.png phpbb/phpbb43.png phpbb/phpbb44.png phpbb/phpbb45.png phpbb/phpbb46.png phpbb/phpbb47.png phpbb/phpbb48.png phpbb/phpbb49.png phpbb/phpbb50.png phpbb/phpbb51.png phpbb/phpbb52.png phpbb/phpbb53.png phpbb/phpbb54.png phpbb/phpbb55.png phpbb/phpbb56.png phpbb/phpbb57.png phpbb/phpbb58.png phpbb/phpbb59.png phpbb/phpbb60.png phpbb/phpbb61.png phpbb/phpbb62.png phpbb/phpbb63.png phpbb/phpbb64.png phpbb/phpbb65.png phpbb/phpbb66.png phpbb/phpbb67.png phpbb/phpbb68.png phpbb/phpbb69.png phpbb/phpbb70.png phpbb/phpbb71.png phpbb/phpbb72.png phpbb/phpbb73.png phpbb/phpbb74.png phpbb/phpbb75.png phpbb/phpbb76.png phpbb/phpbb77.png phpbb/phpbb78.png phpbb/phpbb79.png phpbb/phpbb80.png phpbb/phpbb81.png phpbb/phpbb82.png phpbb/phpbb83.png phpbb/phpbb84.png phpbb/phpbb85.png phpbb/phpbb86.png phpbb/phpbb87.png phpbb/phpbb88.png phpbb/phpbb89.png phpbb/phpbb90.png phpbb/phpbb91.png phpbb/phpbb92.png phpbb/phpbb93.png phpbb/phpbb94.png phpbb/phpbb95.png phpbb/phpbb96.png phpbb/phpbb97.png phpbb/phpbb98.png phpbb/phpbb99.png phpbb/control.txt \


+ 100
- 0
testsuite/linuxfr/control.txt View File

@@ -0,0 +1,100 @@
tEHhOvK
egcXvmd
PjFvqau
KUhuaDs
DmwLiUH
DuLcaHf
CSaNFLl
vGwzWNE
zoCucuh
WjikOBC
BbEOaSs
wSeAkuu
hjbHvin
xOmBzlq
McCUroO
TFdmmiK
gkHaGEK
XzfqbuS
BFlOzwq
NFDBmfm
qzzDilT
ZdusZnh
PmhzZPL
AOeCsPD
btZGKnl
wpfVpai
rtDPugJ
PvspMJO
PKFrJTX
EVbKlUM
TOXOzuY
pFbSBTD
ZkFVWhk
CBlSCkh
MpjaaDq
vouZvvk
GOucaYn
phPtpdq
VmGnfZC
JSEVPZH
BtqpOUC
ZlLWZWu
DXYndfL
fqqhGYL
GEnJVJH
xfHJsBV
XuOuFjt
HLqjlza
MhwutaO
JugmBlc
FcmLZFu
JuaocqJ
VvFfSdT
muAASFU
jmvPflE
lnusBSe
uVTTaOl
BiNlSNW
lcqzuPc
dnZNenC
EXWwPES
izCHLXu
eOrxuva
OWXHAmm
pYlDnDf
FPqWdcf
EAaVzLD
sOvdOEL
WExmjHL
xODiwFF
ANSnOpb
kcBgrjc
HHmCNFx
tUFqNlc
LdCzCOw
FjEElxG
FCAhWZp
ZSEokTi
qqZZGdH
almMBzB
DdMhhwK
uobBZWp
YCxsUHr
oraVSFP
xuzzhvh
Yifbkzq
ebttbkj
EzJjsHE
dEOnsXL
wcjSPea
jMGDfYO
CgGkduT
JBJMMpY
oPvDKkz
uAuKTOS
XjPrioj
unuJumu
NiVdvTh
avhDElE
ZoNuvOO

Loading…
Cancel
Save