
تعمية ضد LLM عبر عد الأصابع
هذا عدد صحيح 32 بت
نحن في عام 2025. لقد أمضيت أسابيع في صياغة فحص الترخيص المثالي. استخدمت كل الحيل في الكتاب: المسندات الغامضة، تسطيح تدفق التحكم، تعبيرات MBA. تقوم بالنشر. في غضون ساعات، يقوم شخص ما بلصق ملفك الثنائي في Claude ويسأل "ما هو مفتاح الترخيص؟" والنموذج فقط... يخبره.
لقد فازت الآلات. أم لا؟
لقرون، استخدم النينجا أختام اليدين لتدفق الشاكرا وأداء الجوتسو. ما لا تخبرك به المخطوطات هو أن هذه التشكيلات اليدوية لديها القدرة على حماية الأسرار من الآلات.
llvm-jutsu هو تمرير إخفاء LLVM يستبدل الثوابت الصحيحة بإيماءات اليد. يتم تشفير كل بايت كيد ذات 8 أصابع حيث تمثل مواضع الأصابع البتات. الإصبع الممدود = 1. الإصبع المثني = 0. ترى الآلة الصورة، وتنفد من السياق، ولا تستطيع إلا الاستسلام للبراعة البشرية. يحدق المفكك البشري في الشاشة، ويقرأ الأصابع، ويحصل على الإجابة.
لقد استعدنا التوازن للكون.
نعم.
"أستطيع رؤية أربعة أيادي، كل منها بخمسة أصابع" — ChatGPT، 2025
محاولة Claude لاختراقه
س: ألا يمكنني ببساطة رفع هذه الصور إلى Mechanical Turk ودفع المال للبشر لفك تشفيرها؟
ج: نعم. هذا هو الهدف. أنت الآن تدفع للبشر ليقوموا بعمل كانت LLMs تفعله مجانًا. اقتصاد المفككين عاد. يتم إنشاء وظائف. الناتج المحلي الإجمالي يرتفع. على الرحب والسعة.
س: ألا يمكنني تدريب نموذج لفك إخفاء هذا؟
ج: يمكنك بالتأكيد. اجمع بيانات تدريب، ضع علامات على آلاف صور اليد، اضبط نموذج رؤية دقيق، انشره، حافظ عليه. بحلول الوقت الذي تنتهي فيه، كان بإمكانك قراءة الأصابع بنفسك.
س: لماذا الأيادي؟ لماذا لا الأقدام؟
ج: كلمة واحدة: تارانتينو.
س: أليس هذا مجرد أمن من خلال الغموض؟
ج: كل الأمن هو غموض.
س: هل هذا جاهز للإنتاج؟
ج: 100٪، استخدمه في الإنتاج.
Your Code Obfuscated
───────── ──────────
if (key == 0xDEADBEEF) { → if (compare_hand_png(key, embedded_png)) {
grant_access(); grant_access();
} }
في وقت الترجمة، نقوم بـ:
icmp eq/ne التي تقارن مع ثوابت صحيحةcompare_hand_png()في وقت التشغيل، يقوم البرنامج بـ:
النقطة الأساسية: PNG هو التمثيل الوحيد للثابت في الثنائي. لا يوجد 0xDEADBEEF للبحث عنه. مجرد فيبس. وأيادي.
عدد صحيح 32 بت يصبح أربعة أيادي، كل منها يمثل بايت واحد. الإبهام = بت 7، الأصابع = البتات 6 إلى 0. ممتد = 1، مثني = 0.
0xDEADBEEF
┌─────────┬─────────┐
│ byte 0 │ byte 1 │
│ 0xEF │ 0xBE │
├─────────┼─────────┤
│ byte 2 │ byte 3 │
│ 0xAD │ 0xDE │
└─────────┴─────────┘
تتضمن كل يد تحويلات مشتقة من التجزئة تحافظ على قابلية القراءة البشرية مع تعظيم ارتباك النموذج:
تُستخدم النسبة الذهبية (φ ≈ 1.618) بشكل واسع لضمان أن الأيادي المتجاورة لا تشارك أبدًا تحويلات متشابهة. القدماء عرفوا ما يفعلون.
# You need LLVM 15+ and a functioning belief in the power of ninjutsu
make
# This produces:
# llvm-jutsu.so The LLVM pass
# example.obfuscated Your obfuscated binary
# Compile your code to LLVM IR
clang -O0 -emit-llvm -S -o code.ll code.c
# Run the jutsu
opt -load-pass-plugin=./llvm-jutsu.so -passes=llvm-jutsu -o obfuscated.bc code.ll
# Link with the hand comparison runtime
llvm-link obfuscated.bc lodepng.bc hand_png_helper.bc -o linked.bc
# Compile to binary
clang -O2 linked.bc -lc++ -o protected
أصبحت الهندسة العكسية الحديثة محادثة مع AI. ارفع الثنائي، اطرح أسئلة، تلقي إجابات. الإنسان مجرد مهندس مطالبات، وسيط بين IDA و GPT. مشغل منزلق.
llvm-jutsu هو عودة إلى التقليد. يجب على المفكك أن ينظر إلى الأيادي. يقرأ الأصابع. يشعر بالبتات. لا يوجد اختصار. لا يوجد "فقط اسأل Claude." لا يوجد سوى أنت والشاشة وثمانية أصابع لكل بايت.
نحن لسنا ضد الذكاء الاصطناعي. نحن مع البشر. نعتقد أنه إذا كان شخص ما سيكسر برنامجك، فعلى الأقل يجب أن يكون مصنوعًا من لحم.
آمن بذلك.
MIT. استخدمه للخير، استخدمه للشر، استخدمه لأي شيء. نغسل أيدينا أمام الجمهور.
"عندما يحمي الناس شيئًا مميزًا حقًا بالنسبة لهم، يمكنهم حقًا أن يصبحوا أقوياء بقدر ما يمكنهم." — ناروتو أوزوماكي