Procházet zdrojové kódy

* linuxfr.org captchas

git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/pwntcha/trunk@419 92316355-f0b4-4df1-b90c-862c8a59935f
master
sam před 20 roky
rodič
revize
10a438c117
11 změnil soubory, kde provedl 286 přidání a 4 odebrání
  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ární
      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 Zobrazit soubor

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

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

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


+ 5
- 0
extras/NOTES Zobrazit soubor

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

@@ -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ární
share/font_linuxfr.png Zobrazit soubor

Před Za
Šířka: 558  |  Výška: 12  |  Velikost: 626 B

+ 1
- 0
src/Makefile.am Zobrazit soubor

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

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

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

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

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

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

Načítá se…
Zrušit
Uložit