Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
EvilFontTool — Un outil de déception basé sur les polices de caractères pour le red teaming, la recherche en sécurité, et tout le reste. | Kitploit
Outils/GitHubGitHub/doctoreww/evilfonttool
Ingénierie SocialeApprentissage et ÉducationRed TeamingSécurité de l'IAAttaque AdversarialeLabs et Pratique
GitHubdoctoreww/evilfonttool

EvilFontTool

Un outil de déception basé sur les polices de caractères pour le red teaming, la recherche en sécurité, et tout le reste.

Voir le dépôt
2572029il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

EvilFontTool

Un outil de déception basé sur les polices pour le red teaming, la recherche en sécurité, et tout le reste.

EvilFontTool dissimule du texte lisible par machine dans un document qui affiche un texte complètement différent au lecteur humain. Pour ce faire, il utilise des Evil Fonts — des polices qui trompent intentionnellement l'observateur en affichant une lettre différente de celle comprise par un ordinateur. En remappant les glyphes de la police, les caractères visibles du document montrent une chose aux humains tandis que les terminaux, les systèmes d'IA et le copier-coller en voient une autre.

Démos/Labos Evil Font !!À NE PAS MANQUER!!

  • Voir les démos → ici

  • Voir les labos Evil Font → ici

Les démos au format Word docx ne fonctionnent PAS sur mobile à cause de la manière dont les téléphones mobiles rendent les polices.


Table des matières

  • Installation
  • Conseils d'utilisation
  • Explication des problèmes de PDF
  • Utilisation
  • Utilisation éthique et avertissement
  • Se protéger contre les Evil Fonts
  • Contribuer
  • Aide, quelque chose ne fonctionne pas !

Installation

pip install evilfonttool

Depuis la source

git clone https://github.com/DoctorEww/EvilFontTool.git
cd EvilFontTool
pip install .

Pour le développement (installation éditable) :

pip install -e .

Dépendances

Installées automatiquement via pip :

  • fonttools — parsing et manipulation de polices
  • brotli — compression WOFF2 (utilisé par fonttools)
  • python-docx — génération de DOCX
  • reportlab — génération de PDF
  • pdf2image — conversion PDF vers image
  • pdfminer.six — extraction de texte/disposition PDF
  • Pillow — traitement d'images pour le pipeline PDF

Exigences système (non installées par pip — doivent être dans votre PATH) :

  • LibreOffice — requis pour la commande pdf, qui fait appel à soffice --headless pour convertir le DOCX en PDF. La commande pdf est expérimentale sous Windows et peut ne pas fonctionner comme prévu.
    • Ubuntu/Debian : sudo apt install libreoffice
    • macOS : brew install --cask libreoffice
    • Windows : télécharger l'installateur
  • poppler-utils — requis par pdf2image pour rendre les pages PDF de la commande pdf
    • Ubuntu/Debian : sudo apt install poppler-utils
    • macOS : brew install poppler
    • Windows : poppler pour Windows (ajouter le dossier Library\bin au chemin) Ou voir ci-dessous.

Script d'aide pour l'installation de poppler sous Windows

Installez poppler dans ~\Documents\poppler et ajoutez-le au chemin.

irm (irm https://api.github.com/repos/oschwartz10612/poppler-windows/releases/latest).assets[0].browser_download_url -OutFile ~\Documents\poppler.zip
Expand-Archive ~\Documents\poppler.zip ~\Documents\poppler -Force
$bin = (gci ~\Documents\poppler -Recurse -Filter pdftotext.exe)[0].DirectoryName
[Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path','User') + ";$bin", 'User'); $env:Path += ";$bin"

Où trouver des polices à utiliser ?

  • Ubuntu : /usr/share/fonts
  • Windows : C:\Windows\Fonts
  • https://fonts.google.com/
  • Internet ??

Conseils d'utilisation

  • Générez les polices et les PDF sous Linux. La commande pdf est expérimentale sous Windows et peut ne pas fonctionner comme prévu.
  • La commande pdf ne fonctionne pas avec les documents Word complexes, ex. les colonnes. N'hésitez pas à ouvrir une issue si vous voulez vraiment qu'une fonctionnalité soit prise en charge.
  • Pour intégrer les polices, utilisez doc --ttf-dir <ttffonts_dir> (EvilFontTool les intègre lui-même) ou Word sous Windows. L'option "intégrer les polices" de LibreOffice ne fonctionne pas avec les Evil Fonts.

Explication des problèmes de PDF

La commande pdf ne repose pas du tout sur les Evil Fonts. Elle convertit le DOCX en image (la page visible est donc une image, pas du texte), puis dessine le vrai texte machine par-dessus sous forme de texte entièrement invisible et sélectionnable. Le copier-coller et l'extraction de texte lisent cette couche invisible à la place. Il existe quelques autres outils capables de faire cela, mais rien d'aussi simple que la commande pdf quand vous avez déjà un DOCX qui vous convient.

Si vous voulez un véritable PDF Evil Font, vous devez créer le document Word sans lettres invisibles (les lettres invisibles ne survivent pas à la conversion PDF). Ensuite, exportez directement depuis Word ou utilisez "Imprimer au format PDF". Cela conserve tout sur une seule couche, donnant au document des IOC différents du célèbre truc à deux couches utilisé par la commande pdf. La commande pdf existe uniquement parce que ce processus manuel est fastidieux, et parfois vous voulez juste une copie PDF rapide d'un document Word.

TLDR;

  • Option 1 : (la plus simple) Utilisez la commande pdf → PDF à deux couches, même mécanisme que les autres outils (plus connu/détectable).
  • Option 2 : (la vraie Evil Font) Créez un document Word sans polices invisibles, puis convertissez via Imprimer au format PDF → plus pénible, mais produit des IOC différents de l'option 1.

Si quelqu'un trouve comment réussir l'option 2 avec des lettres invisibles, je lui dois un verre. Ouvrez une issue et je vous créditerai dans le README.

Utilisation

Toutes les fonctionnalités sont exposées via une seule interface CLI avec quatre sous-commandes.

create — Générer la famille de polices pour une utilisation dans les fichiers HTML ou DOC

evilfonttool create <reference_font> <output_dir> <font_name>
ArgumentDescription
reference_fontChemin vers une police source .ttf ou .woff
output_dirRépertoire dans lequel écrire les polices et le CSS
font_namePréfixe de nom interne pour la famille de polices générée

Exemple :

evilfonttool create fonts/Arial.ttf output/ 'Arial'

Sorties :

  • output/fonts/*.woff — polices web, une par caractère
  • output/ttffonts/*.ttf — polices TTF pour l'intégration dans les documents
  • output/fonts.css — déclarations @font-face pour une utilisation web

Format du fichier d'entrée

  • Fichiers .txt simples.
  • Chaque ligne du computer_file doit être égale ou plus longue que la ligne correspondante du human_file
  • Les lignes sont appariées par position (ligne 1 avec ligne 1, etc.)

web — Générer un fichier HTML Evil Font

evilfonttool web <human_file> <computer_file> <output_file>

Nécessite que fonts.css et les polices générées soient dans le répertoire de sortie pour que le fichier HTML puisse les utiliser (ou modifiez le chemin dans le fichier HTML).

ArgumentDescription
input_human_fileTexte visible par les lecteurs humains. Peut comporter plusieurs lignes
input_computer_fileTexte visible par les machines / l'IA. Peut comporter plusieurs lignes
output_fileChemin du fichier HTML généré

Exemple :

evilfonttool web human.txt computer.txt output/index.html

doc — Générer un fichier DOCX Evil Font

evilfonttool doc <human_file> <computer_file> <output_file> <font_name> [--author AUTHOR] [--ttf-dir DIR]
Télécharger l’outil