Tiny Online Tools logoTiny Online Toolssearchابحث في الادوات…grid_viewكل الادوات
الرئيسيةchevron_rightأدوات الهندسة العكسيةchevron_rightمُشوِّش JavaScriptمُشوِّش JavaScript

مُشوِّش JavaScript

يعيد تسمية المتغيرات المحلية، ويخفي السلاسل النصية، ويسطّح تدفق التحكم في JavaScript، كل ذلك داخل متصفحك دون رفع أي شيء.

مستوى التشويشأساسيمتوسطعدوانييعيد تسمية المتغيرات المحلية المؤكدة ويحذف المسافات والتعليقات.
infoهذا رادع ضد القراءة العابرة، وليس حماية حقيقية أو تشفيرًا، ولا يحمي الأسرار. كل شيء يعمل محليًا داخل متصفحك؛ لا يُرفع شيء.

ادوات مشابهة

مساعد فك تشويش جافاسكريبت

مساعد فك تشويش جافاسكريبت

يعكس أنماط التشويش الثابتة الشائعة في جافاسكريبت: استبدال مصفوفات النصوص، فك تشفير الهروب، طي الثوابت، حذف الفروع الميتة، وتحويل الأقواس إلى نقاط.

محلل الكود الميت في جافاسكريبت

محلل الكود الميت في جافاسكريبت

الصق حزمة JS واعثر على الدوال في المستوى الأعلى التي لا توجد لها أي إشارة ثابتة في الملف — تحليل تخميني لإمكانية الوصول، وليس يقينًا.

مُفكِّك ترجمة WASM

مُفكِّك ترجمة WASM

حوّل ملف WebAssembly ثنائي إلى نص WAT مقروء، مع رسم بياني لاستدعاءات كل دالة، وشكل تدفق التحكم، وتخمين لسلسلة أدوات البناء.

أداة تصور تبعيات حزمة JS

أداة تصور تبعيات حزمة JS

اكتشف حدود الوحدات داخل حزمة webpack أو Rollup أو esbuild أو Vite وشاهد أي وحدة تعتمد على أي وحدة، عبر مطابقة حقيقية لشكل شجرة AST، لا تخمين نصي.

White Noise Generator

White Noise Generator

Generate white, pink, and brown noise online for focus, sleep, masking, or audio testing. No download, runs in your browser.

محول دقة الفيديو

محول دقة الفيديو

محول دقة الفيديو يساعدك على تغيير دقة الفيديو إلى أحجام شائعة مباشرة داخل المتصفح. استخدمه لتنظيف الوسائط بسرعة وخصوصية، للنشر، الدروس، العروض، والتحرير اليومي.

مقارنة JSON

مقارنة JSON

قارن بين كائنين JSON.

apps

المزيد من الادوات

تصفح مجموعتنا الكاملة من الادوات المجانية عبر الانترنت.

ما الذي تفعله هذه الأداة

يحلّل هذا المُشوِّش كودك باستخدام acorn لبناء شجرة تركيبية، ثم يطبّق بعض التحويلات البنيوية، ويعيد توليد JavaScript باستخدام astring — كل ذلك داخل متصفحك. لا شيء مما تلصقه يُرفع إلى أي خادم.

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

المستويات الثلاثة

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

المتوسط يقوم بكل ما يفعله الأساسي، بالإضافة إلى تجميع كل سلسلة نصية تُستخدم كتعبير في مصفوفة واحدة أعلى الملف، واستبدال كل ظهور باستدعاء مثل _fn(3) يبحث عن السلسلة عبر فهرسها.

العدواني يقوم بكل ما يفعله المتوسط، بالإضافة إلى كتابة كل سلسلة في تلك المصفوفة بترميز \x/\u بدلاً من الأحرف العادية، وإعادة كتابة التسلسلات المكوّنة من ثلاث جُمل أو أكثر في حلقة موزّع while(1) { switch(_i) { ... } }، بحيث لا تُقرأ البنية بعد ذلك من الأعلى إلى الأسفل.

الصحة أولاً

كل مستوى مصمم لإنتاج كود يعمل تمامًا مثل الكود الذي لصقته. حيثما لا يمكن إثبات أمان بنية ما — أنماط التفكيك، eval، with — تتجنب الأداة إعادة تسميتها بدلاً من المخاطرة بكسر برنامجك. إذا كان كودك يستخدم eval أو with، يُعلمك تنبيه بأن إعادة التسمية تم تخطيها بالكامل لهذا السبب.

قراءة أرقام الحجم

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

استخدامات شائعة

  • جعل نص برمجي صغير أقل سهولة في القراءة السريعة قبل مشاركة عرض توضيحي.
  • تعلّم كيفية عمل أدوات التشويش عبر مقارنة المدخل بالمخرج.
  • إضافة رادع خفيف لنص برمجي منطقه غير حساس.

ألصق كود JavaScript، اختر مستوى، ثم انسخ النتيجة أو نزّلها.