PDA

View Full Version : آیا این Dll یک عدد یکتا تولید می کند؟



hamid.shekasteh
دوشنبه 23 آذر 1388, 07:40 صبح
سلام به همه کاربران



من با استفاده از مطالب سایت یک DLL درست کردم که کار آن بدست آوردن یک کد یکتا برای هر سیستم با توجه به سریال هارد دیسک آن سیستم است ، من فکر می کنم که بتوان از آن برای درست کردن قفل نرم افزاری استفاده کرد.


برای استفاده شما می بایست ابتدا فایل را به Refrence برنامه تان اضافه کنید سپس


using GetUnique



و سپس کدی مثل زیر را بنویسید:





Unique objUnique = new Unique();



long longUnique = objUnique.GetCode();



if (longUnique == -1)



MessageBox.Show("Error");



else


textBox1.Text = longUnique.ToString();



منتظر امتحان کد توسط شما بر روی سیستم های مختلف هستم و امیدوارم در پایان به یک نتیجه خوب برسیم .

shahab_ss
دوشنبه 23 آذر 1388, 08:58 صبح
دوست عزیز ،بهتر نبود که سورس رو اینجا قرار میدادید تا در مورد الگوریتم استفاده شده بحث میشد ؟

ASKaffash
دوشنبه 23 آذر 1388, 11:44 صبح
سلام
الگوریتمی که بکار رفته کمی ساده است hash ... اینها را هم چاشنی کنید در ضمن خط
throw new Exception (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Exception/.ctor())();
درون بدنه متد GetCode لزومی ندارد
در مقدار برگشتی SELECT * FROM Win32_PhysicalMedia اگر چند هارد وجود داشته باشد آخرین هارد مد نظر قرار می گیرد

hamid.shekasteh
سه شنبه 24 آذر 1388, 14:47 عصر
درسته من سورس را می گذارم بهتره هم همه استفاده می کنند و هم به تاپیک کمک می شود.

در مورد چند هارد:
درسته با تغییر کوچک زیر حل میشه


Serial += wmi_HD["SerialNumber"].ToString();


Hash:
با MD5 خود دات نت یه عمل Hash هم انجام شد.به نظر شما چه طوری بهتر میشه؟

throw new Exception (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Exception/.ctor())();
فکر می کنم منظورتون اینه که در else آخر خروجی -1 مستقیما ارسال شود ، که اگه درسته ممکنه در طول الگوریتم خطایی به وجود بیاد که در این حالت این خط باید باشه.
باتشکر.