اجرای برنامه نوشته شده فقط در یک سیستم

با سلام در این مطلب میخوام بهتون بگم چطور میشه برنامه ای بنویسیم که این برنامه فقط روی یک سیستم اجرا بشه
شاید خیلی موقع ها ببینید برنامه هایی هستند که از نظر امنیتی اینجوری طراحی شدند که در یک یا چند سیستم میتونن نصب بشن البته من تمام کد هاشو اینجا نمیارم ولی با همین کد ها شما میتونید کلی کار انجام بدید.

Image

یکی از بهترین راه کارها برای این منظور استفاده از سخت افزار هست اگر شما از نرم افزار استفاده کنید خب طبیعتاً راه های دور زدن زیاد هست هر چند برای سخت افزار هم این قضیه صدق میکنه اما کار هرکس نیست ….
پس بهتره از سخت افزار استفاده شه تمام سخت افزار ها دارای شماره سریالی هستند که یه سری از اونها منحصر به فرد هستند مثل کارت شبکه که از یه عددی تشکیل شده که این عدد در دنیا unic هست یعنی در کل دنیا ازش یکی وجود داره(شماره سریال)در این مطلب میخوام توسط برنامه نویسی به کمک سریال های سخت افزاری کاری کنیم نرم افزارمون روی یک سیستم نصب شه پس برای ادامه این داستان نیاز داریم شماره سریال سخت افزار رو بدست بیاریم و پس از اون میتونیم کافیه با یه if چک کنی که برنامه روی همون سخت افزار اجرا میشه.
البته شما میتونید کد ها رو با هم تلفیق کنید و تو برنامتون ازشون استفاده کنید.

توسط کدهای زیر شماره سریال cpu سیستم رو بدست میاریم
نکته مهم : برای استفاده از این کد ها باید کتابخانه System.Management رو تو برنامه اضافه کنیم.

برای به دست اوردن سریال سی پی یو از این کد ها استفاده میکنیم

using System.Management;
string cpuInformation = string.Empty;
ManagementClass Nocpu = new ManagementClass("win32_processor");
ManagementObjectCollection moc = Nocpu.GetInstances();
 
foreach (ManagementObject mo in moc)
{
    cpuInformation = mo.Properties["processorID"].Value.ToString();
    break;
}
lblCpuNo.Text = cpuInformation ;

البته لازم هست اضافه کنم lblCpuNo.Text یک لیبل هست که باید روی فورمتون ایجاد کنید.

میریم سراغ به دست اوردن شماره سریال کارت شبکه

using System.Management;
string noMacAddresses =string.Empty;
 
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
    if (nic.OperationalStatus == OperationalStatus.Up)
    {
        noMacAddresses+= nic.GetPhysicalAddress().ToString();
        break;
    }
}

lblMacNo.Text = noMacAddresses;

lblMacNo هم مانند کد بالا یک لیبل هست که روی فرم ما ایجاد میشه.
این کد ها برای سی شارپ هستند که اگر میخواهید بر روی VB هم اجرا کنید میتونید از ابزار های زیر استفاده کنید .

 

 به کانال برنامه نویسی ما پیوندید واز آخرین مطالب روز باخبر شو

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *