Aller au contenu

TD 1337 / leet speak⚓︎

Introduction Historique⚓︎

Le leet speak (en leet speak : 1337 5|*34|<), de l'anglais « elite speak » :uk: (littéralement, « langage des initiés / de l'élite »), est un système d'écriture utilisant les caractères ASCII d'une manière peu compréhensible pour le néophyte (appelé n00b et déclinaisons) pour s'en démarquer. On considère ainsi le leet speak comme une forme particulière d'ASCII Art.

Le leet speak trouve son origine à la fin des années 1980, sous l'impulsion des programmeurs informatiques sur les bulletin board systems (BBS), populaires entre la fin des années 1970 et la 1ère moitié des années 1990, qui sont des serveurs connectés via ou plusieurs modems, et équipés d'un logiciel offrant :

  • des services d'échanges de messages
  • de stockage et d'échange de fichiers
  • de jeux

Initialement inventé par les professionnels de la sécurité pour échanger et partager des infos et de fichiers en ligne, et plus particulièrement pour lutter contre les hackers.., ces derniers s'emparent néanmoins progressivement du concept, étant quelquefois bannis de certains BBS, et vont lui donner ses lettres de noblesse. Le Leet Speak a donc principalement été utilisé par les hackers, les codeurs, les spammeurs (car il passe les filtres, usuellement) et les programmeurs. Il a depuis gagné du terrain dans la communauté des gamers.

Ainsi, Il existe plusieurs sortes de BBS :

  • le professionnel, qui offre des services à ses clients (téléchargement de correctifs, forum d'assistance technique, etc).
  • l'amateur, géré par des particuliers passionnés comme passe-temps notamment par les demomakers.
  • le pirate, où s'échangeaient les fichiers illégaux sur la piraterie téléphonique et informatique.
  • le ludique, site de discussion à thème, généralement axé sur une trame de jeu de rôle.

La plupart des BBS amateurs ont aujourd'hui disparu. De nos jours, de nouveaux BBS ont néanmoins vu le jour et restent joignables par les protocoles telnet (non sécurisé, ancien), SSH (**S**ecure **SH**ell, 👍 ) ou GNUtella.

On pourra trouver une liste partielle de BBS existants sur cette page

On y trouve quelques noms devenus emblématiques aujourd'hui : PLaNeT MaRS, GoTCHa, etc..

Aller Plus loin : Sur cette page - leet Story- de technewsworld.com

L'Alphabet leet ou 1337⚓︎

Plusieurs niveaux de Codage : de 1337 à 31337⚓︎

Le leet speak est un langage non standardisé, à plusieurs formes/niveaux de codages différents, c’est-à-dire qu'il y a plusieurs façons de coder un même texte en leet. Cela vient du fait qu'il existe plusieurs équivalents à la plupart des lettres de l'alphabet. Par exemple, leet speak peut s'écrire :

  • L33T 5P34K en codage de base : des Chiffres et des Lettres. Au minimum :
    • E remplacé par 3
    • O remplacé par 0
    • I et L remplacé par 1
    • S remplacé par 5
    • T remplacé par 7
  • 1337 5p34k en codage léger : des chiffres des lettres en minuscules
  • 1337 5|*34|< en codage normal ; des chiffres, quelques symboles sans symboles diacritiques
  • £33‡ šρ3@ķ en codage moyen : des chiffres, quelques symbboles y compris des symboles diacritiques
  • |_ 33¯|¯ _/¯|°3/-\|< en codage élevé, ou 31337 ou uber 1337 : uniquement des symboles divers (mais pas les signes diacritiques) et des chiffres

Un langage atypique⚓︎

  • l'alphabet leet speak n'est pas réellement standardisé : les exemples suivants figurent parmi les plus classiques, mais n'ont aucune prétention d'exhaustivité.
  • certains mots sont systématiquement & intentionnellement mal épelés/orthographiés :
    • Warez pour dire Softwares sous entendu piratés ou crackés
    • t3h ou teh pour the
    • n00b pour newbie
    • H4x0r ou Haxxor pour Hacker, etc..
    • b& pour banned / banni (d'un Forum, etc..)
  • certains symboles sont polysémiques : ils peuvent signifier plusieurs choses différentes selon les contextes.
  • Résumé : en 1337, on fait un peu ce qu'on veut... donc un peu n'importe quoi... Pas vraiment le monde on l'on applique des "règles" prétablies, et où les appliquerait

Alphabet 1337 / leet⚓︎

Alphabet 1337 : Lettres -> Nombres/Symboles⚓︎

|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z| |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | 4
@
/-\
/\_\
/\
\|-\
Д
aye

^
q
a | 8
6
13
\|3
\]3
\|}
\|\:
18
\|8
\]8
\|o
lo
j3
!3
(3
/3
)3
ß
P>
в
ь | $<$
(
{
[
¢
© | \|)
\|}
\|]
[)
\|>
\|o
)
I>
?
T)
0
[-
\|=-
&
$\in$

£

ë | \|=
/=
(=
\|#
\|"
ƒ
ph | 6
9
[+
&
(\_+
C-
gee
(γ, | 4
#
\|-\|
\|=\|
/-/
[-]
[=]
]-[
[-]
]-[
)-(
(-)
{-}
{=}
}{
}-{
:-:
\|~\|
]~[
I+I
н
?
hèch | 1
!
¡
\|
\]\[
]
:
eye
3y3 | \_\|
\_/
\_7
\_)
\_]
\_}
¿
(/
ʝ
; | X
\|<
1<
\|{
\|(
ɮ
<
\|\“ | 1
\|
1_
\|_
\]\[\_
\|.
£
ℓ | 44
3
\|\\/\|
/\\/\\
/X\
/\|/\|
(\\/)
/\|\\
^^
/^^\
\|^^\|
//.
.\\\\
\/\/\/
\|v\|
[V]
{V}
(V)
(u) | 11
\|\\\|
/\\/
/\|/
/V
\|V
^/
(\\)
]\\[
[\\]
\][\\]\[
{\\}
<\\>
//
^
[]
И
| 0
()
[]
{}
<>
*
$\varnothing$
$\Theta$
oh
¤
°
([]) | \|*
/*
\|o
\|O
\|º
\|>
\|"
\|D
[]D
\|7
?

p | (\_,)
(,)
()\_
O,
O\_
0\_
°\|
<\|
0. | \|2
12
/2
\|²
2
\|?
\|^
.-
,-
lz
[z
®
Я
ʁ
\|°\ | 5
$
§
z
ehs
es
_/¯ | 7
+
7\`
-\|-
\~\|\~
1
'\|'
\'\]\[\'

¯\|¯ | \|\_\|
\\\_\\
/\_/
\\\_/
(\_)
[\_]
{\_}
v
L\|
µ
J | \\/
\\\\//
1/
\|/
o\|o | 3
\\/\\/
\|/\\\|
vv
'//
\\\\\`
\\^/
\\X/
(n)
\\V/
\\\|/
\\ \_\| \_ /
\\\_:\_/
\`^/
\\./
Ш
ɰ | %
*
><
)(
}{
Ж
ecks
×
8 | \`/
'/
Ч
j
¥
Ψ
$\varphi$
λ | 2
7\_
>\_
~/\_
%
=/=
-\\\_
'/\_ |

Alphabet 1337 : Nombres -> Lettres⚓︎

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13
18 | 44 | |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | O
D
Q | I
L
T | Z
R | E
e
m
w
$\omega$
$\in$
$\varepsilon$
$\cap\cap$ | h
A
y | S | b
G | T
j
L | B
X | g | IO
LO
7O | N | R | B | M |

Juste pour le fun!⚓︎

Il existe une version de Google pour les Hackers... qui parle le 1337:

Page Google : https://www.google.com/?hl=xx-hacker

A vous de jouer : /\ \/()(_)_/¯ |)3 _|()/_/3|2 !!⚓︎

Comprendre le 1337⚓︎

Traduire les phrases suivantes en Anglais :uk: ou en Français 🇫🇷 :

  • En codage normal:

    • 3><pl0|7 exploit
    • 3xp|.0|+ exploit
    • )30|\||\|3 4|\||\|é3 Bonne Année
    • 8391NN32 beginner
    • 3><|>3Rt expert
    • n00b13 newbie
    • h4x0rz hacker
    • c3n50red censored
    • M1C|2050|=7 Microsoft
    • K4713 12 7h3 w1|\| @ P00L Katie is the win at pool : Katie est une très bonne joueuse de Pool
    • |\|0\/\/ ¥0µ @|2€ |2€@|)¥ 70 |-|@\/€ ƒµ|\| \/\/¡7|-| £€€7! Now You are ready to have fun with leet!
  • En codage élevé:

    • 1 4/\/\ 7|-|3 |<33/o3|2 ()|" 7|-|3 \_//\/1\/3|253 I am the keeper of the universe
    • |-|^><()|z hacker
    • |)/-\\/1|) David
    • |\|0\/\/ 15 7|-| 71M3 Now is the time
    • 1 4/\/\ 7|-|3 |<33/o3|2 ()|" 7|-|3 \_//\/1\/3|253 I am the keeper of the universe

Parler le 1337 : Écris ton Prénom + Nom!⚓︎

  1. Écris ton Prénom, puis ton Nom de famille, en 1337 :

    a. en Codage de base b. en Codage normal c. en Codage élevé

  2. Défie ton voisin ! Ecris un mot, ou une phrase, en 1337, et lance un défi à ton voisin pour le décoder 🤘

Coder le 1337 en Python⚓︎

En choisissant de manière aléatoire parmi l'un des symboles possibles pour représenter une même lettre en 1337, créer une fonction leet(texte:str)->str qui :

  • reçoit en entrée un paramètre contenant un texte
  • renvoie en sortie une chaîne de caractère texteLeet représentant une traduction possible du texte en 1337

On pourra utiliser astucieusement un dictionnaire.