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