Name Obfuscation

Obfuscation می تواند اولین پروتکشن رسمی .net باشد چرا که ویژوال استادیو با نسخه رایگان dotfuscator، release شد.

Name Obfuscation چطور application هایمان را protect می کند؟

همانطور که همگی می دانیم .net همه چیز ( تمام اسامی اسمبلی، ماژول ها، متدها و بطور خلاصه همه چیز) را در قالب metadata ذخیره می کند و تمام این metadata در فایل اجرایی ( PE ) ذخیره می شود بنابراین به راحتی می شود با استفاده از یک decompiler اطلاعات بیشتری را نسبت به exe/dll  های قدیمی win32 بدست آورد. (در اینجا یک word decompile بهتر از یک disassemble است چرا که خود msil یک زبان سطح بالاست در مقابل asm)

نتیجه اینکه این فایل ها بسیار قابل خواندن هستند درست مثل خواندن source code اصلی.

Name Obfucator از راه هایی مثل بی معنا کردن رشته ها، غیر قابل چاپ کردن رشته ها، خیلی طولانی کردن رشته ها و یا فقط حذف کردن رشته ها اسامی را به کاراکتر های مبهم و غیر قابل خواندن و پرینت گرفتن تبدیل می کند.

حال اگر کسی با استفاده از یک reflector سعی در decompile برنامه ای داشته باشد که با یک obfuscator تجاری protect شده است، با شکست مواجه خواهد شد چرا که از کاراکترهای موجود به هیچ نتیجه ای نخواهد رسید. البته اسامی مبهم را می توان به رشته های با معنی تبدیل کرد مثل method2،  TextBox3 اما نکته قابل توجه این است که در اینجا منظور از رشته های با معنی، تنها رشته های قابل خواندن است نه رشته های اولیه! خوشبختانه به خاطر شیوه ترجمه obfuscation نمی توان رشته ها را به رشته های اصلی برگرداند.



بازگشت به صفحه اصلي
www.lllcd.com www.4df.org www.6df.org www.8df.org www.9sh.org  www.pedjvak.net    www.pedjvak.com  www.shegerd.com  www.guarddongle.com  www.dedj.com www.5df.com