
रेड टीमिंग, सुरक्षा अनुसंधान और बाकी सब कुछ के लिए एक फ़ॉन्ट-आधारित छल उपकरण।
लाल टीमिंग, सुरक्षा अनुसंधान और बाकी सबके लिए एक फ़ॉन्ट-आधारित धोखा उपकरण।
EvilFontTool एक दस्तावेज़ के अंदर मशीन-पठनीय टेक्स्ट छुपाता है जो मानव पाठक को पूरी तरह से अलग टेक्स्ट प्रदर्शित करता है। यह Evil Fonts का उपयोग करके ऐसा करता है — ऐसे फ़ॉन्ट जो जानबूझकर दर्शक को धोखा देते हैं, कंप्यूटर द्वारा समझे गए अक्षर से अलग अक्षर प्रदर्शित करके। फ़ॉन्ट ग्लिफ़्स को रीमैप करके, दस्तावेज़ के दृश्य वर्ण मनुष्यों को एक चीज़ दिखाते हैं जबकि टर्मिनल, AI सिस्टम और क्लिपबोर्ड कॉपी-पेस्ट कुछ और देखते हैं।
वर्ड docx डेमो मोबाइल पर काम नहीं करते, क्योंकि मोबाइल फ़ोन फ़ॉन्ट रेंडर करने का तरीका अलग होता है।
pip install evilfonttool
git clone https://github.com/DoctorEww/EvilFontTool.git
cd EvilFontTool
pip install .
विकास के लिए (एडिटेबल इंस्टॉल):
pip install -e .
pip के माध्यम से स्वचालित रूप से स्थापित:
fonttools — फ़ॉन्ट पार्सिंग और हेरफेरbrotli — WOFF2 कम्प्रेशन (fonttools द्वारा उपयोग किया जाता है)python-docx — DOCX निर्माणreportlab — PDF निर्माणpdf2image — PDF-से-छवि रूपांतरणpdfminer.six — PDF टेक्स्ट/लेआउट निष्कर्षणPillow — PDF पाइपलाइन के लिए छवि प्रबंधनसिस्टम आवश्यकताएँ (pip द्वारा स्थापित नहीं — आपके PATH पर होनी चाहिए):
pdf कमांड के लिए आवश्यक, जो DOCX को PDF में बदलने के लिए soffice --headless को बुलाता है। pdf कमांड विंडोज़ पर प्रयोगात्मक है और इच्छित रूप से काम नहीं कर सकता है।
sudo apt install libreofficebrew install --cask libreofficepdf कमांड के लिए PDF पृष्ठों को रेंडर करने हेतु pdf2image द्वारा आवश्यक
sudo apt install poppler-utilsbrew install popplerpoppler को ~\Documents\poppler में स्थापित करें और path में जोड़ें।
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"
/usr/share/fontsC:\Windows\Fontspdf कमांड विंडोज़ पर प्रयोगात्मक है और इच्छित रूप से काम नहीं कर सकता है।pdf कमांड जटिल वर्ड दस्तावेज़ों (जैसे कॉलम) पर काम नहीं करता। यदि आप वास्तव में कोई ऐसी सुविधा चाहते हैं जिसे वह समर्थन दे तो बेझिझक एक issue खोलें।doc --ttf-dir <ttffonts_dir> का उपयोग करें (EvilFontTool उन्हें स्वयं एम्बेड करता है) या विंडोज़ पर Word का उपयोग करें। LibreOffice का अपना "embed fonts" विकल्प Evil Fonts के लिए काम नहीं करता।pdf कमांड Evil Fonts पर बिल्कुल भी निर्भर नहीं करता। यह DOCX को एक छवि में रेंडर करता है (इसलिए दृश्य पृष्ठ एक चित्र है, टेक्स्ट नहीं), फिर वास्तविक कंप्यूटर टेक्स्ट को पूरी तरह से अदृश्य, चयन योग्य टेक्स्ट के रूप में ऊपर खींचता है। कॉपी-पेस्ट और टेक्स्ट निष्कर्षण उस अदृश्य परत को पढ़ते हैं। कुछ अन्य उपकरण भी ऐसा कर सकते हैं, लेकिन जब आपके पास पहले से एक पसंदीदा DOCX हो तो pdf कमांड जितना आसान कुछ नहीं है।
यदि आप एक वास्तविक Evil Font PDF चाहते हैं, तो आपको वर्ड दस्तावेज़ को अदृश्य अक्षरों के बिना बनाना होगा (अदृश्य अक्षर PDF रूपांतरण में बच नहीं पाते)। वहाँ से, सीधे Word से निर्यात करें या "Print to PDF" का उपयोग करें। यह सब कुछ एक ही परत में रखता है, जिससे दस्तावेज़ को pdf कमांड द्वारा उपयोग की जाने वाली प्रसिद्ध दो-परत चाल से अलग IOC मिलते हैं। pdf कमांड केवल इसलिए मौजूद है क्योंकि वह मैन्युअल प्रक्रिया थकाऊ है, और कभी-कभी आप Word दस्तावेज़ की एक त्वरित PDF प्रति चाहते हैं।
TLDR;
यदि किसी को पता चलता है कि अदृश्य अक्षरों के साथ विकल्प 2 कैसे पूरा किया जाए, तो मैं आपको एक ड्रिंक दूँगा। एक issue खोलें और मैं आपको README में श्रेय दूँगा।
सभी कार्यक्षमता चार उप-कमांड वाले एकल CLI के माध्यम से उपलब्ध है।
create — HTML या DOC फ़ाइलों में उपयोग के लिए फ़ॉन्ट परिवार उत्पन्न करेंevilfonttool create <reference_font> <output_dir> <font_name>
| तर्क | विवरण |
|---|---|
reference_font | स्रोत .ttf या .woff फ़ॉन्ट का पथ |
output_dir | फ़ॉन्ट और CSS लिखने के लिए निर्देशिका |
font_name | उत्पन्न फ़ॉन्ट परिवार के लिए आंतरिक नाम उपसर्ग |
उदाहरण:
evilfonttool create fonts/Arial.ttf output/ 'Arial'
आउटपुट:
output/fonts/*.woff — वेब फ़ॉन्ट, प्रति वर्ण एकoutput/ttffonts/*.ttf — दस्तावेज़ एम्बेडिंग के लिए TTF फ़ॉन्टoutput/fonts.css — वेब उपयोग के लिए @font-face घोषणाएँ.txt फ़ाइलें।computer_file में प्रत्येक पंक्ति human_file की संगत पंक्ति के बराबर या लंबी होनी चाहिए।web — एक Evil Font HTML फ़ाइल उत्पन्न करेंevilfonttool web <human_file> <computer_file> <output_file>
HTML फ़ाइल उपयोग कर सके इसके लिए
fonts.cssऔर उत्पन्न फ़ॉन्ट को आउटपुट निर्देशिका में होना आवश्यक है (या HTML फ़ाइल में पथ बदलें)।
| तर्क | विवरण |
|---|---|
input_human_file | मानव पाठकों को दिखाई देने वाला टेक्स्ट। कई पंक्तियाँ हो सकती हैं |
input_computer_file | मशीनों / AI को दिखाई देने वाला टेक्स्ट। कई पंक्तियाँ हो सकती हैं |
output_file | उत्पन्न HTML फ़ाइल का पथ |
उदाहरण:
evilfonttool web human.txt computer.txt output/index.html
doc — एक Evil Font DOCX फ़ाइल उत्पन्न करेंevilfonttool doc <human_file> <computer_file> <output_file> <font_name> [--author AUTHOR] [--ttf-dir DIR]
font_nameकोcreateचरण में उपयोग किए गए नाम से मेल खाना चाहिए। धोखे के सही ढंग से रेंडर होने के लिए TTF फ़ॉन्ट सिस्टम पर स्थापित होने चाहिए,--ttf-dirके माध्यम से एम्बेड किए जाने चाहिए, या Word में मैन्युअल रूप से एम्बेड किए जाने चाहिए (file -> options -> save -> embed fonts)।
Word का अपना "embed fonts" सेव विकल्प ठीक काम करता है, लेकिन LibreOffice का नहीं — मैं इसे कभी Evil Fonts को सही ढंग से एम्बेड नहीं करवा सका। इसके बजाय --ttf-dir पास करें: EvilFontTool फ़ॉन्ट को स्वयं, सीधे .docx में एम्बेड करता है, बिना Word या LibreOffice की एम्बेडिंग पर निर्भर हुए।