Parcourir la 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 il y a 20 ans
Parent
révision
10a438c117
11 fichiers modifiés avec 286 ajouts et 4 suppressions
  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 Voir le fichier

@@ -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 Voir le fichier

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

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


+ 5
- 0
extras/NOTES Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

Avant Après
Largeur: 558  |  Hauteur: 12  |  Taille: 626 B

+ 1
- 0
src/Makefile.am Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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

Chargement…
Annuler
Enregistrer