مرحبا اخواني وكل عام وأنتم بخير...في هذه التدوينة والتي قطعا ستفرح إخواننا المطورين بأداة سرية ومجانية متوفرة على النت تتيح لكم تحويل شفرة مصدر JavaScript الأصلية إلى تمثيل جديد يصعب فهمه ونسخه وإعادة استخدامه أوتعديله دون إذن. والرائع هو أنه مهما كان حجم وتداخل السكريبت المراد تشفيره سيكون للنتيجة المبهمة الوظيفة الدقيقة للرمز الأصلي..أقصد بدون الحصول على خطا بنسبة 99.99% أوليس هذا رائعا!!.
ومن الرائع كذلك في هذه الأداة التي من خلال استخدام مختلف التحولات و"الفخاخ"، مثل ، الدفاع عن النفس و حماية التصحيح ستصعب قراءته باستخدام أدوات مضادة كأداة JS Beautifier إلا طبعا من محترف.
ويبقى السؤال المهم لماذا أصلا أرغب في تعتيم رمز JavaScript الخاص بي؟ اخي العزيز لاتكن متساهل حتى لايفقد المجال رونقه والجمال الكامن في شطط البحث ومايصحبه من لذة النجاح فدعني أخبرك أن هناك العديد من الأسباب التي تجعل من الأفضل حماية التعليمات البرمجية الخاصة بك ، منها ماهو تقني ومنها ماهو تجاري على سبيل المثال إزالة التعليقات والمساحة البيضاء التي ليست مطلوبة. جعله أسرع في التحميل وصعوبة الفهم ؛ حماية المنتج المدفوع كالقوالب والإضافات التي سهرت على بنائها أشهر وأعوام فمن غير العدل أن تسرق منك وتنسب لغيرك..فهل إقتنعت؟!!.
أما مسئلة كسر التشفير لايكون إلا من شخص لديه الوقت والمعرفة والصبر لعكس السلسلة.
قلت لايوجد حماية مطلقة نظرًا لأنه مادام محرك JavaScript في المتصفح قادرًا على قراءته وتفسيره ، فتأكد أنه لا توجد طريقة لمنع ذلك. والنتيجة تحصيل حاصل لايوجد أداة تشفير خارقة ..لكن توجد حيل المطور!!
الخلاصة / إستخدم هذه الاداة وأتحداك أن تجد بديلا أحسن منها في الوقت الراهن.
لكن لا داعي للقلق بشأن حجم الشفرة لأنه نظرًا لوجود الكثير من التكرار ، سيتم ضغط الشفرة المبهمة بشكل جيد للغاية بواسطة خادم الويب تستطيع أن تتأكد بنفسك من خلال أداة التحقق من ضغط GZIP
لكن مع تطبيق obfuscator . تتم معالجة المصدر بواسطة خادم التطبيق الخاص بمطور الأداة ، ثم إلى مرحلة التعتيم - التشفير أو التشويش واخيرا العودة إلى المستعرض ، لذلك يبقى فقط على ذاكرة الخادم لفترة زمنية قصيرة (عادةً بالميلي ثانية).
أي أنه لا يوجد اي خوف على ملفاتك البرمجية من ان توضع في سجل المراجعات مادامت لاتوجد اصلا ذاكرة تخزين.
والرائع فعلا هو ، تطبيق الويب كذلك هو مفتوح المصدر . تحقق منه على صفحة المصادر github .
وعليه سنقوم بتهيئة الأداة لتعمل كملف index دون الحاجة للإتصال بالنت كمشروع قادم إنشاء الله تعالى.
ومن الرائع كذلك في هذه الأداة التي من خلال استخدام مختلف التحولات و"الفخاخ"، مثل ، الدفاع عن النفس و حماية التصحيح ستصعب قراءته باستخدام أدوات مضادة كأداة JS Beautifier إلا طبعا من محترف.
ويبقى السؤال المهم لماذا أصلا أرغب في تعتيم رمز JavaScript الخاص بي؟ اخي العزيز لاتكن متساهل حتى لايفقد المجال رونقه والجمال الكامن في شطط البحث ومايصحبه من لذة النجاح فدعني أخبرك أن هناك العديد من الأسباب التي تجعل من الأفضل حماية التعليمات البرمجية الخاصة بك ، منها ماهو تقني ومنها ماهو تجاري على سبيل المثال إزالة التعليقات والمساحة البيضاء التي ليست مطلوبة. جعله أسرع في التحميل وصعوبة الفهم ؛ حماية المنتج المدفوع كالقوالب والإضافات التي سهرت على بنائها أشهر وأعوام فمن غير العدل أن تسرق منك وتنسب لغيرك..فهل إقتنعت؟!!.
معاينة الأداة
ستكتشف فور إستخدامك للأداة JavaScript Obfuscator Tool ان بيئة العمل سهلة ومرنة لكن تأكد من قراءة جميع الخيارات لتأخذ في عين الإعتبار مستويات الحماية والحجم و السرعة للكود الخاص بك..إنتقل الآن للاداة من خلال الضغط على الزر في الاسفل وبعدها يمكنك الرجوع لأشارككم تفاصيل مهمة قد تحتاجها كمرجع أثناء عملك بالأداة.
تفعيل الخيارات المهمة
ستجد في صفحة الأداة جدول بياني يشرح لك جميع ماتحويه الاداة من ميزات وخصائص وبما اننا على منصة البلوجر دعنا نجعل تلك الخيارات على مستوايين إن صحت القراءة لبيئة العمل... وهما مستوى يتماشى مع الملحقات التابعة لبلوجر والمستوى الثاني لانقول العكس وإنما غير مطلوب لذلك سنركز في الجدول الخاص بنا فقط على الخيارات المناسبة والتي يجب عليك تحديدها عندما تريد تعتيم الكود الخاص بك طبعا إلا في حال كان هناك خيار إستثنائي أو خيار غير مرغوب فيه سنوضح ذلك في الجدول الآتي..
التعليمات المطروحة في صفحة الأداة
لكي تاخذ فكرة واسعة لمشروع JavaScript Obfuscator Tool سنحاول توضيح ماتم طرحه في الاسئلة الشائعة على واجهة المستخدم الخاصة بالأداةهل التشفير بواسطة هذه الأداة مضمون؟
كما نعلم لايوجد شيء إسمه حماية مطلقة للسكريبت لكن هناك مستويات وصدقوني إن قلت أن مستوى هذه الأداة في الحماية مرتفع جدا لدرجة أنه من المستحيل استرداد شفرة المصدر الأصلية بالضبط .أما مسئلة كسر التشفير لايكون إلا من شخص لديه الوقت والمعرفة والصبر لعكس السلسلة.
قلت لايوجد حماية مطلقة نظرًا لأنه مادام محرك JavaScript في المتصفح قادرًا على قراءته وتفسيره ، فتأكد أنه لا توجد طريقة لمنع ذلك. والنتيجة تحصيل حاصل لايوجد أداة تشفير خارقة ..لكن توجد حيل المطور!!
الخلاصة / إستخدم هذه الاداة وأتحداك أن تجد بديلا أحسن منها في الوقت الراهن.
لماذا الكود المستخرج أكبر من الشفرة المصدرية؟
لأن تطبيق obfuscator يقدم أجزاء جديدة من التعليمات البرمجية التي تهدف إلى الحماية والدفاع ضد تصحيح الأخطاء والهندسة العكسية. كما يتم تحويل السلاسل إلى كود سداسي عشري لجعل الأمور أصعب قليلاً لفهمها.لكن لا داعي للقلق بشأن حجم الشفرة لأنه نظرًا لوجود الكثير من التكرار ، سيتم ضغط الشفرة المبهمة بشكل جيد للغاية بواسطة خادم الويب تستطيع أن تتأكد بنفسك من خلال أداة التحقق من ضغط GZIP
هل يمكن تشغيل مصغر على الكود المستخرج؟
لا يُنصح إستخدام الأدوات المطلوبة مثل UglifyJS أو Google Closure Compiler لغرض تقليل حجم الكود المستخرج لأنه في بعض الحالات سوف يكسر التشفير (مثل إذا قمت بتمكين الدفاع عن النفس ). و يزيل الكود الميت ويقوم بتحسينات أخرى.هل يتم تخزين الكود المصدري الخاص بك عند إستخدامك للأداة؟
المقصود بتخزين الكود المصدري هو مثل مايفعل تطبيق hexdecoder في الإحتفاض بنسخ من الملفات التي يتم تقديمها من طرف المستخدمين.لكن مع تطبيق obfuscator . تتم معالجة المصدر بواسطة خادم التطبيق الخاص بمطور الأداة ، ثم إلى مرحلة التعتيم - التشفير أو التشويش واخيرا العودة إلى المستعرض ، لذلك يبقى فقط على ذاكرة الخادم لفترة زمنية قصيرة (عادةً بالميلي ثانية).
أي أنه لا يوجد اي خوف على ملفاتك البرمجية من ان توضع في سجل المراجعات مادامت لاتوجد اصلا ذاكرة تخزين.
هل يمكن استعادة شفرة المصدر الأصلية ؟
طبعا لا ، فمن المستحيل إعادة الشفرة المبهمة إلى الشفرة الأصلية ، لذا يجب أن تتأكد من حفظ نسخ إحتياطية لملفاتك النصية على الجهاز الخاص بك أو الخدمات السحابية مثل Google Drive .تشغيل obfuscator على الخادم / الجهاز الخاص؟
هذه الأداة مجانية ومفتوحة المصدر (BSD-2-Clause مرخصة) مكتوبة بلغة TypeScript. يمكنك الذهاب إلى صفحة المصادر github الخاصة بها وقراءة المزيد هناك ستجد في نفس الصفحة مجموعة من الملحقات التابعةوالرائع فعلا هو ، تطبيق الويب كذلك هو مفتوح المصدر . تحقق منه على صفحة المصادر github .
وعليه سنقوم بتهيئة الأداة لتعمل كملف index دون الحاجة للإتصال بالنت كمشروع قادم إنشاء الله تعالى.