اللي انت شايفه قدامك ده هو كود لفانكشن بتطبع Hello World بالجافاسكربت!
اللي قدامك في الصورة يعتبر ربع الكود بس اللي عرفت أخده سكرين شوت.

Javascript Obfuscation

ما هذا؟ وازاي كود المفروض في العادي يكون 3 سطور بس يكون بالشكل ده؟
دي حاجه اسمها Obfuscation وهي عملية بتحول السورس كود بتاعك المقروء الطبيعي لحاجه بالشكل ده مستحيل انها تتقرأ او تتفهم من البشر، لكن الكومبيلر يقدر يشغلها وتطلع نفس الناتج بتاع السورس كود الأصلي!
والعملية دي بتم عن طريق سلسلة من التحويلات للسورس كود بتاعك من تغيير اسماء للمتغيرات لحقن كود ملوش علاقة بالموضوع وغيرها من الامور اللي بتخلي الكود مستحيل يتفهم.

ايه الفرق بينها وبين الـ Encryption؟

الـ Encryption بيحتاج Secret Key عشان تعمل Decryption للكود بتاعك عشان الكومبيلر يفهمه وبالتالي هتضطر تحط الـ Secret Key في السورس كود وبالتالي لسا عندك نفس المشكلة اي حد هيوصل Secret Key هيفك التشفير، انما الـ Obfuscation انت كأنك عملت تشفير للسورس كود ومع ذلك الكومبيلر يقدر يفهمه.

ده اللينك بتاع الأداة اللي بتعمل الموضوع ده:
https://www.obfuscator.io

السؤال الحقيقي

ايه اللي ممكن يخلي حد يلجئ لحاجه زي دي؟
أنا مش شايف اي Use Case تستحق حاجه زي كده في النهاية الفرونت ايند كود المفروض انها حاجه Public ولو عندك حاجه مهمة زي مثلا Algorithm معين خايف ان المنافسين بتوعك في نفس المجال ينسخوه ويستخدموه فالأفضل انك تنقل حاجه زي دي للسيرفر عندك، او مثلا لو شايف ان ده هيصعب الموضوع على الـ Attacker بإنه يقرأ السورس كود ويلاقي ثغرات عندك فالأفضل انك تبحث وتسد الثغرات اللي عندك.