سلام، آیا تا به حال به این فکر کرده اید که الگوریتم های شما چقدر جالب و منحصر به فرد هستند؟ 😎 بسیاری از برنامه نویسان و شرکت ها این کار را انجام می دهند، به همین دلیل است که ممکن است در به اشتراک گذاشتن کار خود با همه مردد باشند. اگر بخشی از کد به سرور منتقل شود (برای برنامههای کلاینت-سرور)، این مشکل کمی پیچیدهتر میشود، اما این رویکرد همیشه امکانپذیر نیست. گاهی اوقات، ما باید بخش های کد حساس را مستقیماً باز بگذاریم.
در این مقاله، ما قصد داریم نگاهی به مبهم سازی در جاوا اسکریپت بیندازیم—ایجاد راه هایی برای پنهان کردن الگوریتم ها و سخت تر کردن مطالعه کد. ما همچنین در حال بررسی چیستی AST و بحث در مورد ابزارهایی هستیم که میتوان برای تعامل با آن برای اجرای مبهمسازی استفاده کرد.
معامله چیست؟
در اینجا یک مثال احمقانه است. این را تصور کنید:
-
باب به سایتی می رود که مانیتورهای رایانه را هدیه می دهد (اینجاست – 📺). مانیتور باب بهتر است، اما چیزهای رایگان همیشه خوب هستند!
-
هنگامی که باب از سایت بازدید می کند، جاوا اسکریپت در مرورگر اجرا می شود و داده های مربوط به دستگاه کاربر را جمع آوری کرده و به سرور ارسال می کند:
let w = screen.width, h = screen.height; // Let's say there's a logic with some check. console.info(w, h);
-
متأسفانه، باب نمی تواند به صفحه هدیه دسترسی پیدا کند و از این بابت بسیار ناراحت است. او نمی فهمد چرا. سپس در قوانین هدایا یاد می گیرد که کاربران با بزرگ، خوب …