تشويش JavaScriptبالآلة الافتراضية VM

حوِّل كودك إلى بايت كود مخصص يعمل على آلة افتراضية بلغة JS — والآن مع دفاع ذاتي متقدم وحماية من التنقيح وإجراءات مضادة لنماذج LLM.

شاهد تشويش VM أثناء العمل

يعمل البرنامج تمامًا كما كان من قبل. غير أنه لم يعد هناك ما يمكن قراءته.

قبل

كود مصدري مقروء

calculator.js

مكشوف

بعد

بايت كود محمي بـ VM

calculator.protected.js

محمي بـ VM

* كود مثال مشوَّش بالإعداد المسبق vm-high-obfuscation مع تفعيل الدفاعات المتقدمة ضد نماذج LLM

يُحوَّل المنطق الأصلي إلى بايت كود مخصص لا تستطيع تنفيذه سوى الآلة الافتراضية المضمّنة. ولا تستطيع أدوات التحليل الساكن فهم الكود دون إجراء هندسة عكسية كاملة للآلة الافتراضية أولًا.

دفاعات متعددة الطبقات ضد الهندسة العكسية بنماذج LLM

مصممة لصد معظم الطرق التي تهاجم بها نماذج LLM الكود المشوَّش.

claude

researcher@MacBook % claude
▐▛███▜▌ Claude Code
▝▜█████▛▘ Opus 4.7 (1M context) with xhigh effort
▘▘ ▝▝ ~/Projects/deobfuscate

أجرِ هندسة عكسية لسكربت obfuscated.js وأخبرني بما يفعله واستعد الكود الأصلي

⏺︎

سأبدأ بقراءة الملف.

بعد 6 ساعات

⏺︎

ظللت أحاول طوال فترة بعد الظهر ولم أتمكن من ذلك.

جرّبت كل ما أجرّبه عادةً — التحليل الساكن، وقياس السلوك أثناء التشغيل، والاعتراض، والتنفيذ في بيئة معزولة، وأدوات مخصصة. لم أستطع حتى فك ترميز البايت كود: فمفتاح فك الترميز يُحسب داخل بيئة التشغيل، لكن كل محاولة لمراقبة بيئة التشغيل تُفعّل فحص سلامة الكود، فإما أن يفسد البرنامج حالته أو يرفض العمل.

معضلة البيضة والدجاجة الكلاسيكية — لا أستطيع قراءة البايت كود دون بيئة التشغيل، ولا أستطيع مراقبة بيئة التشغيل دون تعطيلها.

سأتوقف هنا. من الملف وحده، لا أستطيع استعادة الكود المصدري.

لقد أهدرت مئات الآلاف من الرموز...

* هندسة عكسية لكود مشوَّش بالإعداد المسبق vm-high-obfuscation مع تفعيل الدفاعات ضد نماذج LLM. فحص الذاكرة أثناء التشغيل ممكن دائمًا في بيئة JS — ودفاعاتنا ترفع كلفة الوصول إليه.

الآلية وراء ذلك

طبقتا دفاع مستقلتان — مع إجراءات مضادة مدمجة لنماذج LLM — تعملان معًا لجعل التحليل والهندسة العكسية غير عمليين

الدفاع الذاتي لـ VM

تتحقق بيئة تشغيل الآلة الافتراضية من سلامتها في كل مرحلة — فأي تعديل أو حقن اعتراض أو تدخل عبر Proxy يُكتشف ويُبطَل.

  • التحقق من سلامة الكود

  • كشف اعتراض الدوال

  • مصائد Proxy والاعتراض

  • التحقق من مكدس الاستدعاءات

  • تعطيل سير عمل الوكلاء الآليين

حماية VM من التنقيح

تعطّل أدوات المطورين ونقاط التوقف والفحص أثناء التشغيل — ما يجعل تتبّع تنفيذ الآلة الافتراضية أو مراقبته بالغ الصعوبة.

  • كشف أدوات المطورين والتصدي لها

  • إبطال نقاط التوقف

  • التحقق من توقيت التنفيذ

  • بصمة البيئة

  • تضليل ببايت كود خادع

  • دفاعات ضد تحليل نماذج LLM

التشويش الأساسي مقابل تشويش VM

مقارنة تفصيلية ميزة بميزة

الميزةأساسيتشويش VM

تشفير مصفوفة النصوص

تسطيح تدفق التحكم

حقن الكود الميت

بسيط

متقدم

الدفاع الذاتي

بسيط

متقدم

الحماية من التنقيح

بسيط

متقدم

محاكاة افتراضية للبايت كود

تشفير البايت كود

فحوصات سلامة الكود

مقاومة الاعتراض والعبث

دفاعات ضد نماذج LLM

حالات استخدام حماية كود JavaScript

من ألعاب HTML5 إلى تطبيقات المؤسسات — احمِ كود JavaScript الخاص بك من السرقة والهندسة العكسية

ألعاب HTML5

امنع اللاعبين من الغش والمنافسين من سرقة منطق لعبتك. فتشويش VM يجعل الهندسة العكسية بالغة الصعوبة.

تطبيقات SaaS

احمِ خوارزميات الواجهة الأمامية ومنطق العمل الخاص بك من المنافسين الذين قد يفحصون كودك العامل من جهة العميل.

البرمجيات المرخّصة

أمّن التحقق من التراخيص والمزايا المدفوعة وآليات مكافحة القرصنة ببايت كود يقاوم العبث.

إضافات المتصفح

احمِ كود إضافتك من المقلّدين ومن التعديلات الخبيثة. وحافظ على ملكيتك الفكرية.

هل أنت مستعد لحماية كودك؟

اطّلع على خطط الأسعار

الأسئلة الشائعة