وصفات عملية
شروحات متكاملة ومبنية على خبرة عملية لمشكلات التكامل الشائعة مع javascript-obfuscator. تركّز كل وصفة على كيفية الجمع بين الخيارات لتحقيق نتيجة بعينها بدلًا من توثيق كل راية على حدة.
اختر الوصفة التي تطابق المشكلة التي تحاول حلها. وسنضيف وصفات أخرى مع الوقت - وإذا واجهت سيناريو تكامل غير مغطى هنا، فأخبرنا وسنكتب عنه.
في هذا القسم
أفضل الممارسات
ما الذي ينبغي حمايته، وما الذي يُترك كما هو، وما الذي لا يستطيع التشويش فعله من أجلك.
استبدال القوالب من جهة الخادم
أدرج قيمًا مولَّدة على الخادم داخل JavaScript المشوَّش بـ VM باستخدام reservedNames وreservedStrings.
مفتاح ترميز مصفوفة البايت كود
زوِّد مفتاح تشفير بايت كود الـ VM الخاص بك عبر vmBytecodeArrayEncodingKey واحصل عليه وقت التشغيل من خلال دالة جلب المفتاح — من تخزين العميل أو بجلبه من الخادم الخلفي.
قياسات دفاع VM وردود أفعاله
أبلغ خادمك الخلفي باكتشافات دفاع VM باستخدام vmDefenseHook، واضبط كيفية استجابة كل فئة اكتشاف عبر vmDefenseReaction.
إخفاء أسماء الدوال عن تحليل نماذج LLM
لماذا قد يسرّب الكود المشوَّش بـ VM أسماء دوال ذات دلالة إلى نموذج LLM، وكيف يزيل التغليف داخل IIFE هذا التسريب.
تشويش VM مع eval وnew Function
كيف يتعامل تشويش VM مع الاستدعاء المباشر لـ eval واستدعاءات مُنشئ Function، وما الذي يُترجم إلى بايت كود وما الذي يُتخطى، والتحذيرات التي يصدرها المشوِّش، وكيفية تشخيص ReferenceError أثناء التشغيل.
تجنّب تعارض المعرِّفات
لماذا قد تؤدي حزم عدة ملفات مشوَّشة بـ VM معًا إلى الخطأ "Identifier already declared" عند التحليل، وكيف تُصلح ذلك بمعرِّفات عشوائية أو ست عشرية.
تشخيص أخطاء التشغيل في VM
قائمة تحقق خطوة بخطوة لأخطاء التشغيل في VM مثل "Invalid array length"، تفصل بين سوء إعداد الاستهداف أو الدفاع الذاتي وبين الأخطاء البرمجية الحقيقية.
