PDA

View Full Version : سوال: چطوری برخی از نرم افزار ها فقط روی یک سیستم نصب می شن؟



ABZiko
سه شنبه 25 فروردین 1394, 17:07 عصر
سلام، یکی از دوستان یک نرم افزار ایرانی خریده که می گه فقط روی یک سیستم نصب می شه، حالا سوالم این هست که چطور این نرم افزار ها رو درست می کنن؟

Mani_rf
سه شنبه 25 فروردین 1394, 17:33 عصر
برنامه برای هرسیستم یک کد یونیک میسازه و معمولا شما برای نصب برنامه باید با شرکت سازنده تماس بگیرید و در مقابل ارائه کدی که برنامه به شما میده یک کد از اونها بگیرید. و این کد رو یک بار بیشتر به شما نمیدن.

dele_ghamgin_2008
سه شنبه 25 فروردین 1394, 18:03 عصر
از دو طریق میتونی این کار رو انجام بدی . طریقه اول رو که همکارمون آقا مانی عرض کردن . روش دوم بصورت خودکار هست یعنی بدون اینکه زنگ بزنی ، میتونی برنامه رو جوری بسازی که برای فعال سازی نیاز به اتصال به اینترنت داشته باشه . به محض وصل شدن به نت یه کدی رو ارسال میکنه و از طریق هاست میزبان ، به ازای کد ارسالی ، یک کد فعال سازی را هاست میفرسته . و اون برنامه فعال میشه . حالا اگر این برنامه رو روی سیستم دیگه ای نصب کنی ،چون همون کد رو دوباره می فرسته ، شرط میذاریم که اگه همون کد بود اطلاع بده قبلا استفاده شده .

rasol_afkham
سه شنبه 25 فروردین 1394, 22:55 عصر
معمولا از شماره کد سخت افزاری سیستم استفاده می کنند و اون کدهایی که دوستان گفتن را تولید می کنن. شماره سریال CPU‌یا رم و هارد دیسک و دیگر کدهایی که می توان به آنها دسترسی داشت و در هر کامپیوتر منحصر به فرد است.البته این نوع قفل ها رو به راحتی می توان هک کرد

pouria_bayat
چهارشنبه 26 فروردین 1394, 00:00 صبح
فقط روی یک سیستم نصب می شه
یعنی در هنگام نصب یا Setup برنامه همچین روشی پیاده میشه؟ یا در هنگام ورود(نمایش فرم ورود و دریافت کلید)؟
(( جای سوال بود برام))
در غیر این صورت نظرم به دوستان یکی هستش.

Javad_raouf
چهارشنبه 26 فروردین 1394, 09:59 صبح
در تکمیل سخنان دوستان
روی Refrences کلیک کن و AddRefrence رو بزن و دو گزینه System.Management و Syatem.Management.Instrumentation رو اضافه کن
سپس برای به دست آوردن سریال مادربرد سی پی یو و هارد از توابع زیر استفاده کن:
public static string GetMainBoardSerial()

{
System.Management.ManagementObjectSearcher wmi = new System.Management.ManagementObjectSearcher("select * from Win32_BaseBoard");
string serial_numbers = "";
System.Management.ManagementObjectCollection wmiGet;
try
{
wmiGet = wmi.Get();
}
catch (Exception)
{
return "";
}
foreach (System.Management.ManagementObject service in wmiGet)
{
try
{
serial_numbers += ", " + service["SerialNumber"].ToString();
}
catch (Exception)
{


}
}
if (serial_numbers.Length > 0) serial_numbers = serial_numbers.Substring(2);
return serial_numbers;
}


public static string GetCpuId()


{
System.Management.ManagementObjectSearcher wmi = new System.Management.ManagementObjectSearcher("select * from Win32_Processor");
string serial_numbers = "";
System.Management.ManagementObjectCollection wmiGet;
try
{
wmiGet = wmi.Get();
}
catch (Exception)
{
return "";
}
foreach (System.Management.ManagementObject service in wmiGet)
try
{
serial_numbers += ", " + service["ProcessorId"].ToString();
}
catch (Exception)
{


}
if (serial_numbers.Length > 0) serial_numbers = serial_numbers.Substring(2);
return serial_numbers;
}
public static string GetHardDiskSerial()


{


System.Management.ManagementObjectSearcher wmi = new System.Management.ManagementObjectSearcher("select * from Win32_DiskDrive");
string serial_numbers = "";
System.Management.ManagementObjectCollection wmiGet;
try
{
wmiGet = wmi.Get();
}
catch (Exception)
{
return "";
}
foreach (System.Management.ManagementObject service in wmiGet)
{
try
{
serial_numbers += ", " + service["SerialNumber"].ToString();
}
catch (Exception)
{


try
{
serial_numbers += ", " + service["PNPDeviceID"].ToString();
}
catch (Exception)
{
//serial_numbers += "5864511";
}
}
}
if (serial_numbers.Length > 0) serial_numbers = serial_numbers.Substring(2);


return serial_numbers;
}

محمد رضا فاتحی
چهارشنبه 26 فروردین 1394, 10:59 صبح
فقط روی یک سیستم نصب می شه
یعنی در هنگام نصب یا Setup برنامه همچین روشی پیاده میشه؟ یا در هنگام ورود(نمایش فرم ورود و دریافت کلید)؟
(( جای سوال بود برام))
در غیر این صورت نظرم به دوستان یکی هستش.

در هنگام ورود به برنامه برای فعالسازی کد رو میگیرن

dele_ghamgin_2008
چهارشنبه 26 فروردین 1394, 11:32 صبح
در هنگام ورود به برنامه برای فعالسازی کد رو میگیرن

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

LastAirbender
چهارشنبه 26 فروردین 1394, 12:29 عصر
..حتی با کلیک روی هر جایی میشه چک کرد که نکنه بخواد هک کنه ...
منظورتون از جمله بالا چیه؟


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


..بلکه از طریق کدهای ویندوزی و نام کاربری و ....
خب اینجوری که ویندوز عوض شه باید یکی دیگه خرید

danialafshari
چهارشنبه 26 فروردین 1394, 13:13 عصر
با سلام
در این روش وفتی که ویندوز عوض میشه درسته که دوباره کد میخواد ولی همون کد قبلی رو وارد کنید Login میشه. ویندوز عوض میشه سخت افزار که عوض نمیشه

دوستان لطفاً قبل از ایجاد تاپیک جستجو کنید "قفل نرم افزاری" یا قفل تلفنی هم میگن. تا از ازدیاد تاپیک های تکراری جلوگیری بشه
خودم هم قبلاً در چندین تاپیک توضیحش دادم
موفق باشید