Reflector نام نرم افزاری است که توسط آن می توانید برنامه های نوشته شده به زبان های NET. (ویژوال بیسیک ، #C ، …) را Decompile کنید . به طور کلی برنامه های نوشته شده به زبان دات نت پس از کامپایل به کد هایی به نام IL تبدیل می شن . از این رو توسط ابزار های خاصی مانند Reflector ، Fox ، Dis sharp میشه فایل های اجرایی ایجاد شده رو Decompile کرد . به عبارت ساده تر تا حدود %70 به کد اولیه برنامه دسترسی پیدا کرد . در واقع میشه گفت این قضیه معنای کد اجرایی (exe) رو تا حدودی نقض می کنه . برای روشن تر شدن موضوع یک مثال مطرح می کنم :
کد زیر رو در نظر بگیرید . کد رو به زبان #C ودر محیط Visual Studio می نویسیم .
private void Form1_Load(object sender, EventArgs e)
{
int a, b;
int c = 0;
string outx = "";
a = 8;
b = 4;
c = a + b;
outx = Convert.ToString(c);
MessageBox.Show(outx);
}
پس از کامپایل کد و تبدیل به فایل اجرایی اون رو توسط نرم افزار رفلکتور ، DeCompile می کنیم و نتایج رو مشاهده می کنیم :
private void Form1_Load(object sender, EventArgs e)
{
int num3 = 0;
int num = 8;
int num2 = 4;
num3 = num + num2;
MessageBox.Show(Convert.ToString(num3));
}
همونطور که مشاهده می کنید تنها شکل ظاهری کد ها تغییر کرد . برای مثال ما در کد اصلی برای تبدیل مقدار int به string از یک متغیر کمکی استفاده کردیم در صورتی که کد Decompile شده به صورت خلاصه تری در اومده.
--------------------------------------------------------------------------------
و اما راه حل جلوگیری از این مشکل چیه ؟
توصیه من استفاده از نرم افزاری به نام Smart Assembly هست . با استفاده از این obfuscator قدرتمند می تونید تا مقدار زیادی کدتون رو مبهم کنید . به طوری که حتی در مواردی Decompile کردن اون هم کاری غیر ممکن خواهد بود .
نتایج مبهم کردن فایل اجرایی توسط نرم افزار Smart Assembly به شرح زیر است :
——– اطلاعات دریافت شده توسط نرم افزار رفلکتور : Module contains unkown meta-data stream
——– حجم فایل اجرایی قبل از عملیات مبهم سازی : 8 کیلوبایت
——– حجم فایل اجرایی بعد از انجام عملیات مبهم سازی : 132 کیلوبایت
مطالب مرجع و تخصصی در زمینه سیستم عامل ویژه دانشجویان و محققین علوم کامپیوتری
فهرست اصلي
فهرست موضوعی
لینکستان
دانشجویان کامپیوتر دانشگاه آزاد
جامعه برنامه نویسان ایران
انجمن تخصصی ASP.NET
انجمن برنامه نویسی NET.
شبکه اجتماعی متخصصان
باشگاه مهندسان ایران
مرجع متخصصین ایران
مرکز توسعه نرم افزار
انجمن تخصصی فلش
باشگاه طراحان ایران
ادوبی فلش پلتفرم
کامپوننت و ابزارها
سورس و راهنما
آموزش فلش
آخرين نوشته ها
درباره سیستم عامل
ارتباط با پورت سریال در C#
addon domain در plesk
استیو جابز هم رفت!
آخرین رکورد بازبینی شده
مشکل نصب SQL Server 2005
سمینار درگاه پرداخت آنلاین
تفاوت متد های get و post
امنیت فایل های اجرایی NET.
نکاتی که در برنامه نویسی باید/میتوانند رعایت شوند
Tableدر برابر Div
سخنان طلایی برنامه نویسان بزرگ
رمزگذاری فایلها
کارگاه آموزش سیستم حروفچینی لاتک و زی پرشین
کتاب آموزش لاتک Latex
مقایسه دستورات DELETE و TRUNCATE
با Cloudflare امنیت و سرعت سایت خود را افزایش دهید
کتاب آموزش برنامه نویسی اسمبلی
چیست؟ nhibernate
معرفي فايل Web.Config
Eval شرطی
واکشی تعداد رکوردهای تمام جدولهای دیتابیس
واکشی نام تمام جدولهای دیتابیس
طرح روی جلد کتاب سیستم عامل سیلبر شاتس
کتاب برنامه نویسی و زبان اسمبلی - پیتر ایبل
کتاب آموزش ActionScript 3.0
حقیقت آزمایش !
افزونه های Reflector
جایگزین Reflector
sem چیست ؟
DESIGNED BY