http://bayanbox.ir/view/4649874664690365417/dlBrochure.png http://bayanbox.ir/view/5307853932115464629/dlHelp.png


راهنمای استفاده از قفل نرم افزاری Cheft

در محیط VB6

 

کاتالوگ تست سریع

این قسمت به عنوان بخش از Visual Studio ارائه شده است و اتفاقا ساده ترین بخش Visual Studio  همین زبان اسکریپت نویسی به زبان Visual Basic است.

علاقمندان به NET. و از این دست،  از اسکریپت های زیر می توانند به عنوان نمونه ذهنی الگوبرداری کنند.

1-بهره گیری از محیط های برنامه نویسی باید دارای قابلیت دور از دسترس بودن باشند.

2-همچنین بهره گیری از قفل باید عاری از محیط جعل(Fake) باشد.

که هر دو این امکانات در محیط برنامه نویسی فایل های دسته ای VB6 وجود دارد.

3- باید توجه داشت که محیط برنامه نویسیVB6  می تواند ازهر سه روش دریافت اطلاعات از قفل CHEFT استفاده کند:

این سه روش عبارتند از:

1- ارسال و دریافت اطلاعات با قفل از طریق خط فرمان(آرگومان) و کد خطا

2- ارسال و دریافت اطلاعات با قفل از طریق رجیستری ویندوز

3- ارسال و دریافت اطلاعات با قفل از طریق پنجره های Inputbox رابط کاربر

 

بهره گیری از خدمات قفل نرم افزاری CHEFT شامل بهره گیری از حداقل 3 سرویس است:

1- تعیین کد سخت افزاری سیستم

2-درج کد فعال سازی (تناسب کد فعال سازی با کد سخت افزاری)

3-دریافت درستی کد فعال سازی با توجه به کد سخت افزاری - جهت ادامه کار ...

شرح استفاده از سرویسهای فوق

در سه  نمونه کلی ارائه شده در Sampleهای CHEFT می توان دیدکه:

نمونه های اسکریپتی اول:

نمونه (Sambple1) دریافت کد سخت افزاری سیستم

از طریق اجرای دستور

Shell "cheft.exe CODE"

و دریافت کد خطا به واسطة

Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long

 

نمونه (Sambple1) ارسال کد فعال سازی به نرم افزار

از طریق اجرای دستور

Shell "cheft CHEFT:102YYM5C3Z4KX60P0H1LAYCO9TD23"

و دریافت کد خطا به واسطة

Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long

نمونه (Sambple1) دریافت درستی کد فعال سازی

از طریق اجرای دستور

Shell "cheft Cheft:ACTIVATED"

و دریافت کد خطا به واسطة

Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long

نمونه های استفاده شده تحت عنوان فایل پروژه  Project1.vbp در فولدر Sample1 در دسترس هستند.  ">


 

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

نمونه های اسکریپتی دوم:

نمونه (Sambple1) دریافت کد سخت افزاری سیستم

ارسال درخواست

Shell "Cheft.exe CODE", vbHide

دریافت کد از طریق رجیستری ویندوز

Function GetReg(KeyName As String) As String

به واسطه

Private Declare Function RegQueryValueEx Lib "advapi32.dll" ...

نمونه (Sambple1) ارسال کد فعال سازی به نرم افزار

cheft Activation

دریافت کد از طریق رجیستری ویندوز

نمونه (Sambple1) دریافت درستی کد فعال سازی

cheft Cheft:ACTIVATED

دریافت کد از طریق رجیستری ویندوز

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

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal lngRootKey As Long) As Long
Private Declare Function
RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal lngRootKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function
RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal lngRootKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Function GetReg(KeyName As String) As String
Dim kh, dt, bs As Long: Dim sb As String
RegOpenKey &H80000002, "Software\CHEFT", kh
If kh = 0 Then GetReg = "": RegCloseKey kh: Exit Function
RegQueryValueEx kh, KeyName, 0&, dt, ByVal 0&, bs
If kh = 0 Then GetReg = "": RegCloseKey kh: Exit Function
sb = Space(bs)
If RegQueryValueEx(kh, KeyName, 0&, 0&, ByVal sb, bs) <> 0 Then GetReg = "" Else If InStr(1, sb, Chr(0)) > 0 Then GetReg = Left(sb, InStr(1, sb, Chr(0)) - 1) Else GetReg = sb
RegCloseKey kh
End Function

نمونه های استفاده شده تحت عنوان فایل های  Project2.vbp در فولدر Sample2 در دسترس هستند.  ">

 


 

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

نمونه های اسکریپتی سوم:

نمونه (Sambple1) دریافت کد سخت افزاری سیستم

cheft SAY

نمونه (Sambple1) ارسال کد فعال سازی به نرم افزار

cheft Activation

 

نمونه (Sambple1) دریافت درستی کد فعال سازی

cheft Cheft:ACTIVATED

در این نمونه نیز مانند نمونه قبل دریافت اطلاعات از قفل بر اساس خط فرمان و کد خطای برگشتی و به واسطه اسکریپت عمومی زیر صورت پذیرفته است.

 Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long

نمونه های استفاده شده تحت عنوان فایل های  Project3.vbp در فولدر Sample3 در دسترس هستند.  ">

 


روش پیش بینی شده و عملی در محافظت اسناد با استفاده از DLL