برداشت کلی شما از مقاله‌ی داده‌شده چیست؟

مقاله: خواندن و نوشتن کدهای مبهم، همچون یک بازی ذهنی برای برنامه نویسان لذت‌بخش است. از همین روی تعدادی مسایقه برنامه‌نویسی همچون مسابقه بین‌المللی کدنویسی مبهم به زبان سی، مسابقه کدنویسی مبهم به زبان پرل و مسابقه بین‌المللی کدنویسی مبهم به زبان روبی ایجاد شده و به خلاقانه‌ترین کد مبهم‌سازی شده جوایزی اهدا می‌کند. روش‌های گوناگونی برای تولید کدهای مبهم شده وجود دارند، از روش‌های معمولی که بیشتر استفاده می‌شوند می‌توان موارد زیر را نام برد: استفاده کردن و نکردن از فاصله‌های سفید برای تولید یک کد هنرمندانه که مفهومی (در اکثر موارد مفهومی مرتبط با کد، به‌طور مثال خروجی کد) خاص را می‌رساند. تولید کدهایی که به صورت خودکار خود را تولید می‌کنند. فشرده‌سازی بیش از اندازه کدها. تولید کدهایی معتبر که در چند زبان به خوبی کار می‌کنند. در معرفی کدهای مبهم شده، می‌توان به برنامه معروف مبهم‌سازی شده پرل (نسبت داده‌شده به randal schwartz) اشاره کرد که جمله «just another perl hacker» را به نمایش درمی‌آورد. جمله‌ای که بعدها در امضای اکثر برنامه نویسان پرل به چشم می‌خورد و بعدها آن را japh خواندند. نمونه‌ای دیگر که تنها با استفاده از کلمات کلیدی زبان پرل، japh را چاپ می‌کند: اگرچه کدهای بعدی نامفهوم و غیرقابل درک به نظر می‌رسند، اما این کدها برنامه‌ای کامل و بینقص به زبان c هستند که پس از کامپایل، ۱۲ جمله شعر معروف ۱۲ روز کریسمس را چاپ می‌کنند. این کد تمام رشته‌های مورد نیاز برای تولید هر ۱۲ جمله را در خود به صورت زمر شده دارد و سپس با تکرار آن‌ها جملات مربوط به شعر را می‌سازد: حتی با زبان پایتون نیز می‌توان کدها را مبهم‌سازی کرد، کد زیر نمونه این عمل در زبان پایتون است: در مثالی دیگر می‌توان برنامه زیر که اعداد اول کوچک‌تر از ۱۰۰ را یافته و چاپ می‌کند را با تعییر تابع primes مبهم‌سازی کرد: کد بالا پس از اعمال تغییرات مبهم‌سازی چون: جایگزینی حلقه‌های for با یک حلقه while به همراه دستورات تو در توی if-else بازنویسی حلقه while را به صورت بازگشتی تبدیل دستورات if-else را به کاراکترهای تکی مشابه از بین بردن متغیرهای میانی جهت مخفی سازی هدف و نتیجه تابع تغییر نام متغیرها به کاراکترهایی چون و پاک کردن فاصله‌های سفید و پرانتزهای غیر ضروری به شکل زیر تغییر می‌کند: مبهم‌سازی خودکار کد مزایای قابل شمارشی دارد که …
برداشت:
در توسعه نرمافزار مبهم‌سازی کد (به انگلیسی : obfuscation) به مبهم سازی (و یا مشوش سازی) عامدانه کد منبع یا کد ماشین به شکلی که درک آن برای انسان سخت باشد ، گفته می‌شود . برخی زبان‌های برنامه‌نویسی تمایل بیشتری به مبهم سازی دارند . در رأس آن‌ها ، زبان‌هایی از قبیل c ، c++ و perl انتخاب‌های اول برای مبهم سازی هستند . ماکروهای پیش‌پردازش شونده (macro preprocessors) ، یکی از روش‌های موردعلاقه برای پوشش گذاشتن بر روی ترکیبات و گرامر اصلی کدها و در نتیجه پایین آوردن خوانایی کد منبع هستند . با این کار دستورات و ترکیبات اصلی را طوری تغییر می‌دهند که دیگر برای خواننده قابل‌هضم نباشد .