|
|
|||
|
درباره وبلاگ
![]() با سلام خدمت شما بازديد كننده محترم . اين وبلاگ در جهت آموزش تكنيك هاي پيشرفته ويژوال بيسيك و رفع مشكلات شما عزيزان و همچنين دانلود برنامه هاي كاربردي و جذاب موبايل فعاليت مي كند وآماده پاسخگويي به سوالات و نظرات شما بازديدكنندگان محترم مي باشد. با تشكر مدير وبلاگ ( سيد كمال رضايي)
منوي وبلاگ
آرشيو مطالب گذشته
هفته چهارم بهمن 1386
هفته اوّل بهمن 1386 هفته چهارم دی 1386 هفته سوم دی 1386 هفته دوم دی 1386 هفته اوّل دی 1386 آرشيو موضوعات وبلاگ
لينك دوستان
آموزش و ترفند
دانلود برنامه و ترفند برنامه هاي يك برنامه نويس آموزش دروس كامپيوتر آس كلاس آموزش ويژوال بيسيك ويژوال بيسيك و گرافيك رياضيات و وي بي ****۞ startxp ۞**** BN - Soft توابع API آموزش میکروکنترلر avr علم نجوم ويروس نويسي در ويژوال بيسيك آموزش فلش-برنامه نویسی-مقاله-سورس کد اويانيك - وبلاگي براي برنامه نويسان الکترونيک - کامپيوتر - برنامه نويسي اموزش ساخت بازی با فلش سورس کدهای ویژوال بیسیک قدرت برتر سلطان كامپيوتر مغناطيس كامپيوتر اينترنت موبايل ترفند جوك عكس... كتابفروشي اينترنتي مکانی برای برنامه نویسان ایرانی آموزش ويندوز _ هك _ ترفند كد نويس punisher boy دهكده موبايل اروم بلاگ ×××بیا تو کلیپ××× Visual i3asiC رمز تمام بازی ها **بهترین ها فقط در اینجا** آموزش رایگان سايت تخصصي موبايل مطالب برتر وبلاگ
نكاتي در مورد وبلاگ
اين وبلاگ تقريبا هفته اي دو بار بروز مي شود - ممكن است به دليل كثرت سوالات به سوالات شما دير پاسخ داده شود اما حتما به همه سوالات پاسخ داده مي شود - لطفا سوالات خود را در قسمت نظرات بيان كنيد و سوالاتتان را ميل نكنيد - فقط پنج پست آخر در صفحه نخست قرار مي گيرد براي دسترسي به همه مطالب مي توانيد از آرشيو استفاده كنيد .
نظر سنجي وبلاگ
آمار وبلاگ
آيه روز
|
قفل نرم افزاري براي برنامه نويسان ويژوال بيسيك (همراه با آموزش كامل و با مثال)
بنام خدا باسلام خدمت شما بازديد كنندگان محترم اين وبلاگ و تبريك نيمه شعبان
در اين پست همانطور كه در پست هاي قبل قول داده بودم آموزش قفل نرم افزاري را كه بوسيله آن مي توانيد از برنامه خود محافظت نماييد باهم دنبال مي كنيم. شيوه هاي مختلفي براي حفاظت از نرم افزار ها وجود دارد كه شامل قفل هاي سخت افزاري و قفل هاي نرم افزاري مي باشد . قفلي كه از آن صحبت مي كنيم در واقع يك DLL است كه شماره شناسه ي چهار قطعه اصلي كامپيوتر (Ram – Mother Board – Cpu – Hard Disk ) را استخراج مي كند و پس از تركيب اين شماره ها در پايان يك شماره به عنوان شماره شناسه آن كامپيوتر به شما مي دهد كه اين شماره در هر كامپيوتري با كامپيوتر ديگر فرق دارد و امكان تكراري بودن آن تقريبا صفر است. حالا اين شماره شناسه به چه دردي ميخوره و چطوري ميشه به عنوان يك قفل ازش استفاده كرد ؟ شما بايد براي كاربر برنامه خود امكاني ايجاد كنيد كه بتواند از طريقي باشما ارتباط برقرار كرده و شماره شناسه و نام و مشخصات خود را در اختيار شما قرار دهد و شما پس از در يافت هزينه نرم افزار فقط يك شماره سريال براي كاربر ارسال مي كنيد كه كاربر مي تواند با استفاده از آن شماره سريال برنامه را فعال كند . ممكن است بگوييد كه پس از ارسال سريال نرم افزار به يك كاربر . او اين سريال را در اختيار ديگران قرار مي دهد و ديگر كسي براي دريافت سريال جديد اقدام نمي كند اما اگر سريال خود را در اختيار شخص ديگري قرار دهد آن شخص نمي تواند از آن سريال استفاده كند چون شماره شناسه كامپيوتر او با شماره شناسه كامپيوتر ديگري فرق دارد. بدين ترتيب هرگونه استفاده غير مجازي از نرم افزار شما تقريبا محال مي شود و شما مي توانيد به راحتي از نرم افزار خود درمورد كپي غير مجاز محافظت كنيد . شايد تا حالا تقريبا با طرز كار اين قفل آشنا شده باشيد اما براي رفع هرگونه ابهامي يك پروژه را گام به گام با يكديگر انجام مي دهيم تا شما بيشتر با اين قفل و كاربرد آن آشنا شويد . يك پروژه جديد با دوفرم ايجاد نماييد و آن را ذخيره نماييد. حالا اين DLL را كه در يك فايل Zip قرار دارد از اين لينك دريافت كنيد. سپس فايل را ازحالت فشرده خارج كنيد و فايل SoftLock.DLL را در پوشه برنامه كپي كنيد . (پسورد فايل Zip www.skrsoft.blogfa.com است. ) حالا پروژه را مجددا باز كنيد . از منوي Project گزينه References را برگزينيد تا كادر محاوره اي References به صورت زير باز شود :
بر روي دكمه Browse كليك كنيد و به مسيري كه فايل DLL را كپي كرده ايد رفته و فايل SoftLock.DLL را انتخاب كنيد و بر روي دكمه Open كليك كنيد تا فايل به پروژه اضافه شود . سپس از كادر محاوره اي References بر روي دكمه Ok كليك كنيد تا به محيط پروژه برگرديد . در قسمت General فرم اول يك متغير جديد براي استفاده از DLL به اين صورت تعريف كنيد : Dim skrsoft As New class يك كنترل TextBox به فرم اضافه كنيد و نام آن را به txtid تغيير دهيد . توجه كنيد كه بايد خاصيت Locked آن را به True تغيير دهيد تا كاربر نتواند شناسه را تغيير دهد. حالا روي فرم دابل كليك كنيد و در رويداد Load آن كد زير را وارد كنيد: txtid.Text = skrsoft.GenerateID اين كد باعث مي شود كه وقتي برنامه اجرا شدر در txtid يك شماره قرار گيرد كه اين شماره همان شماره شناسه كامپيوتر شما است . تا اينجا به همين راحتي شماره شناسه كامپيوتر را بدست آورده ايد. دو TextBox ديگر به فرم اضافه كنيد و نام آنها را txtname و txtcompany قرار دهيد . يك دكمه به فرم بيفزاييد و نام آن را به cmdok تغيير دهيد . در پايان هم يك Textbox ديگر به نام txtserial به فرم اضافه نماييد .از اين كنترل براي وارد كردن سريال توسط كاربر استفاده مي شود .
حال بايد يك الگوريتم طراحي كنيم كه يك شماره شناسه و يك نام كاربر و يك نام شركت دريافت كند و با توجه به اين اطلاعات يك شماره سريال توليد كند كه به راحتي قابل حدس زدن و پيدا كردن نباشد . با يك مثال يك الگوريتم ساده پياده مي كنيم اما شما بايد براي محافظت از برنامه خود از الگوريتم هاي پيچيده تري استفاده كنيد . مثلا ميتوانيم شماره سريال را بر عدد 2 تقسيم كنيم و تعداد حروف نام كاربر را در ابتداي عدد بدست آمده قرار دهيم و عدد بدست آمده را در در تعداد حروف نام شركت ضرب كنيم و از عدد بدست آمده 10 رقم اول آن را به عنوان شماره سريال به كاربر بدهيم . الگوريتمي كه در بالا مطرح شد يك الگوريتم ساده است اما باتوجه به سادگي آن باز هم پيدا كردن الگوريتم و سريال كار سختي به نظر مي رسد . با هم از همين الگوريتم استفاده مي كنيم و برنامه را طراحي مي كنيم. بر روي دكمه cmdok دابل كليك كليك كنيد و در رويداد كليك آن كدهاي زير را وارد كنيد : Dim strserial As String * 10, a As String, b As String, c As String a = txtid.Text / 2 b = Len(txtname.Text) c = Len(txtcompany.Text) strserial = b + a strserial = Val(strserial) * Val(c) If txtserial.Text = strserial Then MsgBox "برنامه با موفقيت ثبت شد", , "Www.SkrSoft.Blogfa.Com" Form2.Show Unload Form1 Else MsgBox "سريال وارد شده با مشخصات شما مطابقت ندارد ", , "Www.SkrSoft.Blogfa.Com" End If تقريبا كار اين برنامه تمام شده است و فقطشما بايد يك برنامه ساده طراحي كنيد كه يك شماره شناسه و نام كاربر و نام شركت را دريافت كند و سريالي به شما بدهد. پروژه جديدي ايجاد كنيد و سه كنترل TextBox به نام هاي txtid2 و txtname2 و txtcompany2 روي فرم قرار دهيد و يك دكمه به فرم اضافه نماييد و نام آن را cmdok2 بگذاريد . بر روي cmdok دابل كليك كنيد و در رويداد كليك آن كد زير را وارد كنيد : Dim strserial As String * 10, a As String, b As String, c As String a = txtid2.Text / 2 b = Len(txtname2.Text) c = Len(txtcompany2.Text) strserial = b + a strserial = Val(strserial) * Val(c) MsgBox strserial, , "Www.SkrSoft.Blogfa.Com" حالا اگر برنامه را اجرا كنيد و اطلاعات لازم را به آن بدهيد شماره سريال را به شما مي دهد و شما ميتوانيد آن را با اطمينان كامل به كاربر بدهيد و مطمئن باشيد كه از برنامه شما هيچ استفاده غير مجازي نخواهد شد . سورس دو برنامه بالا را مي توانيد از اين لينك دريافت نماييد . (پسورد فايل Zip www.skrsoft.blogfa.com است. ) اگر هنگام اجراي پروژه ها با خطاي زير روبرو شديد : Compile error: User-defined type not defined فايل DLL را دوباره از همان روشي كه گفته شد (از منوي Project) براي برنامه بارگذاري كنيد . اميدوارم از اين آموزش كاربردي استفاده برده باشيد . اگر جايي از برنامه مشكل دارد و يا قسمتي از برنامه براي شما داراي ابهام است ويا اگر سوالي درمورد اين قفل داريد در قسمت نظرات بيان كنيد تا به آن پاسخ داده شود. لطفا براي بهتر شدن وبلاگ نظراتتان را بيان نماييد . / نوشته شده در جمعه نهم شهریور 1386 و ساعت 18:37 در ارتباط با موضوع ویژوال بیسیک |
|
||