amir_saniyan
پنج شنبه 12 شهریور 1388, 23:08 عصر
با سلام
من قصد دارم در این پست نحوه «جلوگیری از دیدن مقادیر ویژگیها (Property) در داتنت» رو توضیح بدم. حالا کجا میتونه استفاده بشه، بستگی به کار خودتون داره.
این کار خیلی ساده است، فقط کافیه که کد زیر رو به کلاستون اضافه کنید:
public int _
{
get
{
Environment.FailFast(null);
return 0;
}
}
به همین سادگی :لبخند:
حالا یک مثال کامل:
// برنامهنویس: امیر سانیان
// amir_saniyan@yahoo.com
using System;
namespace AntiDebug
{
/// <summary>
/// این رده از دیدن مقادیر ویژگیها در هنگام دیباگ
/// جلوگیری میکند.
/// </summary>
public class Test
{
/// <summary>
/// وظیفه این ویژگی محافظت در برابر دیدن مقدار
/// ویژگیها در هنگام دیباگ است.
/// </summary>
public int _
{
get
{
Environment.FailFast(null);
return 0;
}
}
/// <summary>
/// تنها برای مثال.
/// </summary>
public string Property1
{
get
{
return "This is Property1";
}
}
/// <summary>
/// تنها برای مثال.
/// </summary>
public string Property2
{
get
{
return "This is Property2";
}
}
/// <summary>
/// سازنده.
/// </summary>
public Test()
{
}
/// <summary>
/// تنها برای مثال.
/// </summary>
public void Method1()
{
Console.WriteLine("This is Method1");
}
}
class Program
{
static void Main(string[] args)
{
// مثالی برای جلوگیری از دیباگ.
// ابتدا یک شی میسازیم.
Test test = new Test();
// حل در این مکان، یک نقطه شکست قرار دهید.
// سعی کنید با نگه داشتن موس روی رده تست
// مقادیر ویژگیهای آن را ببینید.
// همانطور که مشاهده میکنید
// این مقادیر نشان داده نشده
// و بعد از مدتی ویژوال استدیو
// برنامه را متوقف میکند.
string str = test.Property1;
test.Method1();
}
}
}
پروژه ضمیمه شده.
موفق باشید.
من قصد دارم در این پست نحوه «جلوگیری از دیدن مقادیر ویژگیها (Property) در داتنت» رو توضیح بدم. حالا کجا میتونه استفاده بشه، بستگی به کار خودتون داره.
این کار خیلی ساده است، فقط کافیه که کد زیر رو به کلاستون اضافه کنید:
public int _
{
get
{
Environment.FailFast(null);
return 0;
}
}
به همین سادگی :لبخند:
حالا یک مثال کامل:
// برنامهنویس: امیر سانیان
// amir_saniyan@yahoo.com
using System;
namespace AntiDebug
{
/// <summary>
/// این رده از دیدن مقادیر ویژگیها در هنگام دیباگ
/// جلوگیری میکند.
/// </summary>
public class Test
{
/// <summary>
/// وظیفه این ویژگی محافظت در برابر دیدن مقدار
/// ویژگیها در هنگام دیباگ است.
/// </summary>
public int _
{
get
{
Environment.FailFast(null);
return 0;
}
}
/// <summary>
/// تنها برای مثال.
/// </summary>
public string Property1
{
get
{
return "This is Property1";
}
}
/// <summary>
/// تنها برای مثال.
/// </summary>
public string Property2
{
get
{
return "This is Property2";
}
}
/// <summary>
/// سازنده.
/// </summary>
public Test()
{
}
/// <summary>
/// تنها برای مثال.
/// </summary>
public void Method1()
{
Console.WriteLine("This is Method1");
}
}
class Program
{
static void Main(string[] args)
{
// مثالی برای جلوگیری از دیباگ.
// ابتدا یک شی میسازیم.
Test test = new Test();
// حل در این مکان، یک نقطه شکست قرار دهید.
// سعی کنید با نگه داشتن موس روی رده تست
// مقادیر ویژگیهای آن را ببینید.
// همانطور که مشاهده میکنید
// این مقادیر نشان داده نشده
// و بعد از مدتی ویژوال استدیو
// برنامه را متوقف میکند.
string str = test.Property1;
test.Method1();
}
}
}
پروژه ضمیمه شده.
موفق باشید.