با پیشرفت فنّاوری دیجیتال، تکثیر غیرقانونی نرمافزار، رشد غیرقابلتصوری پیدا کرد. ازاینرو نرخ سرقتهای نرمافزار نیز به شکل قابلتوجهی افزایش یافت. فنون متعددی برای محافظت از کد، موجود بوده که یکی از این راهکارها، مبهم سازی کد هست. مبهم سازی کد، مکانیسمی برای پنهانسازی الگوریتم اصلی، ساختمان داده یا منطق کد، جهت جلوگیری از عملیات مهندسی معکوس غیرمجاز در راستای حفاظت از کد است. اغلب راهکارهای وزین تحلیلی، مادامیکه توسط انسان مورد کاربرد قرار گیرد، دچار شکست خواهد شد، ازاینرو مبهم سازی بهمنظور حفاظت از مالکیت معنوی نرم¬افزار و جلوگیری از تشخیص کد مخرب در بدافزارها، همواره چالشی بزرگ به شمار میآید. ازآنجاکه هیچکدام از فنون مبهم سازی جاری، تمام اثربخشی موردنیاز مبهم سازی در مقابله با حملات مهندسی معکوس را اقناع نمیسازد، محققین صنعت نرمافزار به دنبال ایجاد بهترین و جدیدترین فنون مبهم سازی در جهت نیل به مالکیت معنوی در فرایندی منظم هستند. هدف اصلی این نوشتار، دسته¬بندی فنون تحلیل ایستا و پویا کلاس¬های متعدد مبهم سازی در مقابل فنون مبهم زدایی است. در سویی دیگر، برای مقایسه و یافتن بهترین روش، دسته¬بندی از روش¬های¬ مبهم سازی نرم¬افزاری با توانایی حفاظت منطقی از برنامه¬ها در برابر ابزار تحلیل کد بیانشده است.