PDA

View Full Version : سوال: ایجاد قفل ایمن به صورت سریال نامبر برای نرم افزار



davidrobert
چهارشنبه 16 بهمن 1392, 22:49 عصر
سلام و خسته نباشید میخوام قفل ایمین به صورت سریال قرار بدم برای برنامه که طرف برنامه رو روی سیستم نصب میکنه و برنامه کد سیستم طرف رو نشان میده و اون شخص کد سیستم رو برای ما ارسال میکنه و ما هم به وسیله نرم افزار دیگه کد سیستم رو میدیم و برنامه کد فعال سازی اش رو میسازه وقتی ساخت برای ان شخص کد فعال سازی رو ارسال و وقتی طرف کد رو دریافت میکنه سیستم بیاد از ریجستری کد رو ثبت و برنامه رو فعال کنه مثل این تصاویر این رو هم بگم کلی دنبال تاپیک مربوط به این موضوع گشتم ولی تاپیک قفل ایمین رو برای فعال سازی نرم افزار پیدا نکردم.
116441

116442

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

این کد مربوط به ساخت کد فعال سازی
private void button1_Click(object sender, EventArgs e)
{
Code(textBox1.Text);
textBox2.Text = Code(textBox1.Text).ToString();
}
private double Code(string sn)
{
double snb;
string x = sn;
for (int i = 0; i < x.Length; i++)
if (x[i] < 48 || x[i] > 57)
{
int ee = x[i] / 19 + 48;
x = x.Remove(i, 1);
x = x.Insert(i, Char.ConvertFromUtf32(ee));
}
snb = double.Parse(x);
double ff = snb * 356 * 52 - 10;
double fff = Math.Round(ff);
return fff;


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

double sn;
RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"software\snreg");
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
sn = Code(GetHDDSerialNumber(""));
textBox1.Text = GetHDDSerialNumber("");
//بررسی وجود فایل ریجستری و صحت کد فعال سازی در آن
if (reg!=null)
{
string a = reg.GetValue("snb").ToString();
string b = sn.ToString();
if (a==b)
{
Form2 f2 = new Form2();
this.Hide();
f2.ShowDialog();
this.Close();
}
}

else
{
textBox1.Text = sn.ToString();
textBox1.ReadOnly = true;
}
}
//تبدیل به عدد کردن کد و انجام محاسبات برای تولید کد فعال سازی
private double Code(string sn)
{
double snb;
string x = sn;
for (int i = 0; i < x.Length; i++)
if (x[i] < 48 || x[i] > 57)
{
int ee = x[i] / 19 + 48;
x = x.Remove(i, 1);
x = x.Insert(i, Char.ConvertFromUtf32(ee));
}
snb = double.Parse(x);
double ff = snb * 356 * 52 - 10;
double fff = Math.Round(ff);
return fff;


}
//وارد کردن کد فعال سازی و فعال کردن برنامه
private void button1_Click(object sender, EventArgs e)
{
double a = 0;
double.TryParse(textBox2.Text, out a);
if (textBox2.Text == "")
{
MessageBox.Show("لطفا کد فعال سازی را وراد نمایید");
return;
}
else if (a == sn)
{
RegistryKey reg = Registry.LocalMachine.CreateSubKey(@"software\snreg");
reg.SetValue("snb", a);
MessageBox.Show("نرم افزار با موفقیت فعال شد ");
Form2 f2 = new Form2();
this.Hide();
f2.ShowDialog();
this.Close();
}
else
{
textBox2.Text = "";
MessageBox.Show("لطفا کد فعال سازی را به صورت صحصیح وراد نمایید");
}
}
//دریافت شماره سریال درایو c
public string GetHDDSerialNumber(string drive)
{
if (drive == "" || drive == null)
{
drive = "C";
}
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + drive + ":\"");
disk.Get();
return disk["VolumeSerialNumber"].ToString();
}
خیلی ممنون میشم کمک کنید خیلی به همچین چیزی نیاز دارم و اینکه میخوام به 2 روش برنامه فعال باشه یکی از روش هاش اولش این باشه و روش دومش به وسیله قفل ایمین برنامه یا همون سخت افزاری میخوام بدونم امکانش هستش به وسیله سریال نامبر و کد مشتری به دو روش برنامه رو فعال کرد یا خیر.

davidrobert
پنج شنبه 17 بهمن 1392, 03:13 صبح
کسی قفل ایمین به صورت سریال برای برنامه اش نساخته اگه کسی ساخته خواهشن کمک کن خیلی نیاز دارم برای برنامه ام

davidrobert
پنج شنبه 17 بهمن 1392, 11:49 صبح
خواهشاً یکی در ضمنی ساخت سریال نامبر برای نرم افزار به وسیله ریجستر کمک کنه مثل این تصویر که وقتی طرف برنامه رو باز میکنه اول برنامه کد سیستم رو بده و بعد طرف کد سیستم به ما بده و ما هم با نرم افزار دیگه بیام کد سیستم بدیم بهش و برنامه کد فعال سازی رو بده و ما هم به برنامه کد فعال سازی رو بدیم که اگه درست بود برنامه فعال بشه ولی اگه اشتباه بود به هیچ عنوان فعال نشه تا زمانی که رمز فعال سازی درست رو شخص بده ممنون میشم کمک کنید.
خیلی لازم دارم به همچین چیزی :ناراحت::ناراحت::ناراحت::نار حت::ناراحت::ناراحت::گریه::گر ه::گریه::گریه::گریه::گریه:

davidrobert
پنج شنبه 17 بهمن 1392, 21:51 عصر
کسی نیست کمک کنه در ضمنی ایجاد سریال نامبر برای نرم افزار

alnajon
پنج شنبه 17 بهمن 1392, 23:52 عصر
از قفل نرم افزاری PS-27 استفاده کن خیلی خوبه . اما تنها ایرادش عوض شدن کد رایانه پس از تعویض ویندوزه

davidrobert
جمعه 18 بهمن 1392, 11:01 صبح
نمونه سورس دارید چون میخوام برای برنامه سایت بزنم و به وسیله دریافت سریال فعال سازی معلوم بشه کی یا خریدن نرم افزار رو و همین طور آمار خریدار مو بالا ببرم فقط برنامه تو شروع سریال نامبر معتبر رو میخواد و بعد از اون میخوام قفل سخت افزاری tiny بخرم و به وسیله این قفل سخت افزاری برنامه باز بشه که کسی از برنامه و استفاده گری کنه با 2 روش برنامه رو میخوام ایمین کنم روش اول سریال نامبر ساخته شده که کد فعال سازیش ارسال میشه براش خواهشاً اگه کمک کنید من رو برای ساخت قفل ایمین به وسیله سریال که اگه سورسی دارید در اختیارم قرار بدید که درست کار کنه اون سورسی که بالا قرار دادم با تصویر یه ایرادی دارد.

arash201
جمعه 18 بهمن 1392, 13:23 عصر
سلام این قفل شما خیلی امنیت پایینی داره من خودم برنامه نویس حرفه ای هستم که قفلی برای برنامه هام ساختم که چندبار رمز با الگوریتمهای مختلف میشه و رمزگشاییش یکم سخته

systam
جمعه 18 بهمن 1392, 14:12 عصر
سلام
دوست خوبمون جناب alimanam یک هچین برنامه ای رو درست کردن واقعا هم عالیه
بگردید توی بخش پیدا میکنید

davidrobert
جمعه 18 بهمن 1392, 14:15 عصر
سلام این قفل شما خیلی امنیت پایینی داره من خودم برنامه نویس حرفه ای هستم که قفلی برای برنامه هام ساختم که چندبار رمز با الگوریتمهای مختلف میشه و رمزگشاییش یکم سخته

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

davidrobert
جمعه 18 بهمن 1392, 17:27 عصر
خواهشاً یکی سورس مربوط به سریال نامبر رو داره برای من قرار بده خیلی نیاز دارم به این نمونه سورس که سالم باشه و ایراد نداشته باشه.

Sir-Programmer
جمعه 18 بهمن 1392, 17:38 عصر
بیا دوست عزیز اینجا (http://barnamenevis.org/showthread.php?249864-%D9%82%D9%81%D9%84-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C-PS-27-%D9%88%D8%B1%DA%98%D9%86-2) کلیک کن !

arash201
شنبه 19 بهمن 1392, 15:58 عصر
اگه نمونه کد امنیتی دارید برای سریال نامبر که به وسیله سیستم ساخت و طرف سخت بتونه رمز گشای کنه خیلی ممنون میشم چون شدیداً به همچین چیزی که بشه کد امنیتی فعال سازی رو برای مشتری ارسال کرد بر حسب ارسال کد امنیتی که مشتری میده مثل تصاویر بالا ممنون میشم یا شبیه این هم باشه ممنون میشم که بتونم امنیت تو برنامه ام ایجاد کنم خیلی ممنون میشم. شدیداً نیاز دارم به همچین کدی.
با تشکر

سلام
سورس این برنامه رو نمی تونم بهتون بدم چون واقعاً براش زحمت کشیدم فقط اینو بگم که از الگوریتمهای زیادی استفاده شده که یکیش md5 هست بقیه الگوریتمها رو هم نمی تونم بهتون بگم.
در ضمن از نرم افزار PS-27 هیچ کمکی گرفته نشده و نرم افزاری من کاملاً دست سازه و خوبه.
کدی که شما بالا گذاشتی با یه کم کارکردن روش میشه دیکودش کرد چون خیلی آسونه و شما با یه محاسبات ریاضی که شاید(حتماً)از یه سورس دیگه یا یه سایتی اینو در برنامتون استفاده کردین با یه کم محاسبات میشه دیکود کرد.شما هر وقت دنبال یه چیز خیلی خوب می گردی عمقی سرچ کن تا مطالب بهتری گیرت بیاد.در رمزنگاری اطلاعات شما باید از اطلاعات نگهداری کنید که این برنامه شما هم رمزنگاری داره و هم درآوردن کدهای سخت افزاری.پس باید خیلی حرفه ای باشه تا کسی نتونه دزدی کنه.