مبهم سازی برای مجموعه های خاص دات نت امکان پذیر نیست

گاهی اوقات، مبهم سازی کد برای مجموعه های خاص دات نت غیرممکن است.
چندین دلیل احتمالی برای این موضوع وجود دارد. یک احتمال این است که مجموعه ای که می خواهید از آن محافظت کنید دارای مشکلات ارجاع اجزای داخلی باشد. این می تواند زمانی رخ دهد که برخی از DLL های ارجاع شده یا بسته های NuGet دارای مشکلات جفت شدن در یک پروژه باشند.
در نسخههای قبلی .NET Framework (1.0 تا 4.8)، اسمبلیها با چنین مشکلاتی مواجه نمیشدند، زیرا کامپایلر NET در صورت وجود ارجاعات حلنشده، فرآیند ساخت را با خطای کامپایل متوقف میکرد و از ایجاد exe. یا . نهایی جلوگیری میکرد. dll با این حال، در نسخههای مدرن داتنت، کامپایلرها دیگر بررسیهای دقیق مرجع را اعمال نمیکنند، و اجازه میدهند که اسمبلی نهایی کامپایل شود، حتی اگر برخی از منابع فایل باینری گم یا نادرست باشند.
در این سناریو، کامپایلر کد Skater Obfuscator قادر به شناسایی تمام اجزای خارجی ارجاع شده توسط اسمبلی نیست و باعث می شود که فرآیند مبهم سازی با شکست مواجه شود. اسمبلی شامل ارجاعات تعریف شده ضمنی به اجزای خارجی مشخص شده در پروژه ای است که به آن تعلق دارد.
برای ادامه، گزینه های زیر را دارید:
1 را فشار دهید در پنجره بازشو برای نادیده گرفتن این مراجع شکسته. این اجازه می دهد تا مبهم ادامه یابد، اما مجموعه حاصل ممکن است حاوی خطاهای داخلی باشد و ممکن است به درستی عمل نکند.
2 را فشار دهید برای ادامه با مبهم سازی “همانطور که هست”. توجه داشته باشید که این روند ممکن است شکست بخورد.
لغو را فشار دهید برای خاتمه دادن به فرآیند
در نتیجه، Skater .NET Obfuscator با حذف اخطار کامپایلر از کد مبهم دور این مانع حرکت می کند. با این حال، ما به شدت توصیه می کنیم قبل از اقدام به مبهم کردن مونتاژ، با انجام اصلاحات لازم در پروژه خود به این مسائل رسیدگی کنید.