مبهم سازی کد

دانشنامه عمومی

در توسعه نرم افزار مبهم سازی کد ( به انگلیسی: Obfuscation ) به مبهم سازی ( و یا مشوش سازی ) عامدانه کد منبع یا کد ماشین به شکلی که درک آن برای انسان سخت باشد، گفته می شود. برخی زبان های برنامه نویسی تمایل بیشتری به مبهم سازی دارند. در رأس آن ها، زبان هایی از قبیل C، C++ و Perl انتخاب های اول برای مبهم سازی هستند. ماکروهای پیش پردازش شونده ( Macro Preprocessors ) ، یکی از روش های موردعلاقه برای پوشش گذاشتن بر روی ترکیبات و گرامر اصلی کدها و در نتیجه پایین آوردن خوانایی کد منبع هستند. با این کار دستورها و ترکیبات اصلی را طوری تغییر می دهند که دیگر برای خواننده قابل هضم نباشد. در این میان برنامه هایی بانام «مبهم ساز» نیز وجود دارند که پس از گرفتن کد منبع یا کد شیء آن را بسته به هدفی خاص به شکل خودکار مبهم سازی می کنند.
مبهم سازی کدها در اکثر موارد برای جلوگیری از عمل مهندسی معکوس صورت می گیرد و برنامه نویس با انجام این عمل خطر دسترسی غیرمجاز به کدهای منبع را تا حد قابل توجهی کاهش می دهد. با انجام این عمل می توانند جلوی تحقق پیدا کردن هدف هایی چون ترجمه دوباره برنامه و تغییر کنترل آن یا یافتن آسیب پذیری ها را گرفت.
خواندن و نوشتن کدهای مبهم، همچون یک بازی ذهنی برای برنامه نویسان لذت بخش است. از همین روی تعدادی مسابقه برنامه نویسی همچون مسابقه بین المللی کدنویسی مبهم به زبان سی، مسابقه کدنویسی مبهم به زبان پرل و مسابقه بین المللی کدنویسی مبهم به زبان روبی ایجاد شده و به خلاقانه ترین کد مبهم سازی شده جوایزی اهدا می کند.
روش های گوناگونی برای تولید کدهای مبهم شده وجود دارند، از روش های معمولی که بیشتر استفاده می شوند می توان موارد زیر را نام برد:
• استفاده کردن و نکردن از فاصله های سفید برای تولید یک کد هنرمندانه که مفهومی ( در اکثر موارد مفهومی مرتبط با کد، به طور مثال خروجی کد ) خاص را می رساند.
• تولید کدهایی که به صورت خودکار خود را تولید می کنند.
• فشرده سازی بیش از اندازه کدها.
• تولید کدهایی معتبر که در چند زبان به خوبی کار می کنند.
در معرفی کدهای مبهم شده، می توان به برنامه معروف مبهم سازی شده پرل ( نسبت داده شده به Randal Schwartz ) اشاره کرد که جمله «Just another Perl hacker» را به نمایش درمی آورد. جمله ای که بعدها در امضای اکثر برنامه نویسان پرل به چشم می خورد و بعدها آن را JAPH خواندند.
عکس مبهم سازی کد
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف

پیشنهاد کاربران

بپرس