فروم تخصصی - پشتیبانی CPSD
آموزش قفل نرم افزاری SerialShield - نسخه‌ی قابل چاپ

+- فروم تخصصی - پشتیبانی CPSD (http://cpsd.ir/forum)
+-- انجمن: آموزش (/forumdisplay.php?fid=9)
+--- انجمن: عمومی (/forumdisplay.php?fid=21)
+--- موضوع: آموزش قفل نرم افزاری SerialShield (/showthread.php?tid=27)



آموزش قفل نرم افزاری SerialShield - CPSD Admin - ۱۶ مهر ۱۳۸۹ ۱۱:۳۲ صبح

[تصویر:  box_ss.jpg]
ضمن سلام

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

Idea فقط در ابتدا نظر شما رو به نکات زیر جلب میکنم :

شاید براتون تعجب آور باشه که چرا نسبت به آموزش یک محصول رقیب اقدام کردم ؟! برخی از دلایل واضح و برخی دیگه متاسفانه از دید بسیاری کاربران پنهان مونده , البته تمامی این موارد رو به صورت خلاصه تر , قبلا بارها در فروم برنامه نویس اعلام کردم ولی احساس شد که شاید توضیحات زیاد شفاف نبودند .

ابتدا سابقه ای کوتاه ارائه میکنم , مدتها پیش که قصد فروش یک محصول رو داشتم و پس از احساس نیاز به قفل گذاری بر روی اون , پس از کلی جستجو در سطح اینترنت و پیدا کردن محصولاتی متنوع , با محصول SerialShield آشنا شدم .

این محصول از همون ابتدا بر روی اینترنت با کدهایی غیر مجاز در حال عرضه بود , و به گمان خودم به صورت رایگان به این محصول دسترسی پیدا کردم
قفل رو بر روی نرم افزار خودم نصب کردم , چند روزی قفل به کاری که برای اون طراحی شده بود عمل میکرد , تا اینکه یک روز متوجه شدم که قفل خودش رو Reset کرده , بارها تست کردم و همون نتیجه حاصل شد

جالب بود نسخه ای که لینک اون به صورت عمومی بر روی وبسایت قرار داره لینک نسخه آزمایشی هستش

http://www.ionworx.com/trial/SerialShieldTrial.zip

در واقع Ionworx جهت جلوگیری از تکثیر غیر مجاز محصولش دست به انجام این کار زده که محصول نهایی رو تنها در اختیار خریداران خودش قرار میده و لینک دانلود تنها پس از طی شدن پروسه خرید , قابل ارائه برای مشتریان خواهد بود .

نسخه آزمایشی همونطوری که شرکت Ionworx در نظر گرفته قابلیت فعال سازی رو نداره ( گو اینکه با درج کد فعال سازی های موجود , قفل دیگه پیغام مزاحم رو به نمایش نمیذاره )

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

همین امر باعث شد که عملیات برنامه نویسی Trial Keeper Professional استارت بخوره و پس از رفع نیازهای شخصی خودم در قالب یک محصول در اختیار دیگران قرار بگیره .
نکته دوم قیمت بالای محصول SerialShield هستش , قیمت از 80 یورو برای SerialShield Standard تا 1000 یورو جهت نسخه SerialShield Enterprise متغیره , امکان دریافت پول نقد از سوی شرکت فروشنده وجود نداره ( نمی پذیره !! ) , شما یا باید اقدام به ارسال چک بین بانکی کنید , که کارمزد صدور یک چک بین بانکی بین 50 تا 80 یورو بود ( با توجه به بانک ) و یا از کارتهای اعتباری بین المللی استفاده کنید

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

در ابتدا اقدام به بارگذاری محصول از روی وبسایت شرکت سازنده کنید و یا اگر به نسخه اصلی دسترسی دارید , اون رو جهت ارجاعات بعدی در دسترس قرار بدید

ذکر یک نکته الزامیه و اون هم اینکه , مثال اکسس موجود در داخل لینک شرکت , در هنگام اجرا با پیغام خطا مواجه میشه ( این نقیصه سالهاست در این مثال وجود داره و معلوم نیست که چرا شرکت سازنده اون رو مرتفع نمیکنه )

جهت رفع این مشکل نمونه آماده شده موجود رو بارگذاری کنید

در پستهای آتی در خصوص برخی توابع موجود و نحوه استفاده از اونها توضیحاتی اجمالی درج خواهد شد .

موفق باشید

لینک دانلود محصول


آموزش قفل نرم افزاری SerialShield - mehdi_fiz - ۱۸ مهر ۱۳۸۹ ۰۶:۱۶ عصر

سلام آقای پیروز مهر
بابت آموزش هایی که ارائه می کنید کمال تشکر را دارم
امیدوارم همیشه موفق باشد


مقدمه - بخش اول آموزش - CPSD Admin - ۱۸ مهر ۱۳۸۹ ۰۷:۰۲ عصر

ضمن سلام

در اولين نوشتار سعي خواهد شد توجه شما را به نكات اوليه و پايه اي منعطف نمايم
در خصوص استفاده از قفل نرم افزاري SerialShield بايد نكاتي را مد نظر قرار داد :

نكته اول

قفل نرم افزاري SerialShield در قالب يك فايل اكتيوايكس با نام SerialShield.dll پياده سازي شده است ، شما در هنگام توسعه نرم افزار ميتوانيد نام اين فايل را به عنواني دلخواه تغيير دهيد ، وليكن در خصوص معرفی توابع باید به تغییراتی متناسب با نام فایل توجه نمایید , به مثال زير دقت کنید :

کد:
Declare Sub AntiMonitors Lib "SerialShield.dll" ()

در صورتي كه نام فايل را فرضاً به Shield.dll تغيير ميدهيد ، فراخواني بايد به صورت زير تغيير يابد :

کد:
Declare Sub AntiMonitors Lib " Shield.dll " ()

نكته دوم

در حالتي كه اقدام به استفاده نمودن از اين قفل در يك فايل اجرايي نموده ايد ( exe ) , فايل مربوط به قفل ( SerialShield.dll و يا همين فايل با هر نامي ديگر ) بايد در داخل شاخه System32 ويندوز كپي شده و يا در مجاورت فايل اجرايي قرار داده شود ، وليكن توجه داشته باشید در خصوص فايلهاي Access اين فايل الزاما بايد در داخل شاخه System32 ويندوز قرار داده شود .

نكته سوم

اكتيو ايكس SerialShield نياز به رجيستر شدن نداشته و تنها با ارجاع مستقيم به آن و وجود فایل در یکی از دو مسیر مورد نظر قابل استفاده ميباشد . پس تنها لازم است فايل مربوط به قفل را در يكي از مسيرهاي عنوان شده كپي نماييد . ( نه در هر دو )

جهت استفاده از اين قفل ، در ابتدا نياز به ارجاع مستقيم به توابع داخلي قفل خواهيد داشت .
خوشبختانه كليه ارجاعات و توابع داخلي در داخل مثالها موجود بوده و در قالب ماژول درج شده اند .
در نمونه برنامه هاي موجود به همراه محصول ، شما با Import نمودن ماژول مربوطه و يا كپي نمودن ماژول در داخل برنامه خود ، قادر به استفاده از توابع خواهيد بود .

در بخش بعد در خصوص برخی توابع توضیحات لازم داده خواهد شد .

موفق باشید

نقل قول: سلام آقای پیروز مهر
بابت آموزش هایی که ارائه می کنید کمال تشکر را دارم
امیدوارم همیشه موفق باشد

ضمن سلام و با تشکر
دوست گرامی , امیدارم شما هم در مسیر موفقیت بیشتر گام بردارید



بخش دوم آموزش قفل نرم افزاری SerialShield - CPSD Admin - ۲۱ مهر ۱۳۸۹ ۰۸:۲۹ عصر

ضمن سلام

در این مبحث به نکاتی در خصوص پروسیژر AntiMonitors موجود در داخل قفل نرم افزاری SerialShield میپردازیم

نحوه فرخوانی این پروسیژر به صورت زیر میباشد :

کد:
Declare Sub AntiMonitors Lib "SerialShield.dll" ()

اين پروسیژر جهت فرخواني روال كنترلي AntiMonitors ميباشد , میتوانید آن را در سطح فرم و یا ماژول درج نموده و نسبت به فراخوانی آن عمل نمایید .

AntiMonitors چيست ؟

يكي از روشهاي مورد استفاده كركرها جهت مغلوب نمودن سيستمهاي قفل گذاري ، رديابي عملكرد قفل ميباشد ( Monitoring / Tracing ) ، قفل در هنگام انجام عمليات كنترلي خود ممكن است با برخي فايلها در ارتباط بوده و يا اطلاعاتي را با رجيستري ويندوز رد و بدل نمايد ، اين اطلاعات ممكن است ، همان اطلاعات و محدوديتهاي در نظر گرفته شده جهت برنامه نهايي بوده باشد .
اين تبادل اطلاعات در برخي مواقع از اهمیت خاصی برخوردار بوده و در صورتي كه كركر موفق به انجام عمليات مانيتورينگ اين بخش از پروسه گردد ، ميتواند منجر به وقوع اشکال در بخشی از فرآيند كنترلي قفل گردد .

در قفل نرم افزار SerialShield پروسیژر AntiMonitors به جهت كنترل نسبي اين رويه مورد استفاده قرار ميگيرد .

نحوه استفاده از اين پروسیژر در هنگام به كار گيري SerialShield بدين صورت خواهد بود كه قبل از عمليات كنترلي مورد نظر در داخل برنامه خود ، بايد اقدام به فراخواني آن نماييد ، به طور مثال :


کد:
Private Sub Registering_Click()
    If condition Then
        AntiMonitors
        'Statements
    End If
End Sub

Statements همان دستوراتي ميباشد كه شما درج نموده ايد

توضيح : در Trial Keeper Professional اين عمليات را به صورت مستمر به انجام ميرسد و نيازي به فراخواني آن در صورتي كه از توابع داخلي خود قفل استفاده مينماييد نيست ، بر خلاف SerialShield سيستم AntiMonitoring موجود در Trial Keeper Professional جزئي لاينفك از كليه پروسه هاي داخلي ميباشد و در مواقع مقتضي و در حال فراخواني توابع داخلي قفل , به صورت خودكار بر دفع عمليات پايش , نظارت خواهد داشت .

البته همچنان از تابع AntiMonitor موجود در قفل نرم افزاري Trial Keeper Professional ميتوانيد در نقاطی از برنامه خود استفاده نمایید که قصد انجام تغییری در یک فایل و یا تغییری در رجیستری , به صورت مخفیانه و به دور از اطلاع کاربر دارید .

موفق باشید



بخش سوم آموزش قفل نرم افزاری SerialShield - CPSD Admin - ۲۷ مهر ۱۳۸۹ ۱۰:۵۱ صبح

با سلام

در این قسمت به بررسی پروسیژر Antidebugging خواهیم پرداخت .

Antidebugging چيست ؟

عمليات Debug به زبان ساده ، به فرآيندي اطلاق ميشود كه در طي آن كركر اقدام به تحليل و بررسي كدينگ برنامه نموده و با بررسي آن به دنبال نقاط نفوذ و شكست برنامه خواهد بود

در واقع اين روش قويترين متد حمله بوده كه جهت مقاومت در مقابل آن نياز به طي نمودن فرآيندي پويا خواهيد داشت

دیباگرها به آن دسته از نرم افزارهایی اطلاق میشوند که توسط کرکر جهت بررسی و تحلیل کدینگ مورد استفاده قرار میگیرند

متد Antidebugging جهت تشخیص نرم افزارهای دیباگر بوده و در این خصوص کاربرد خواهد داشت

تنها در خصوص استفاده از این متد در محیط VB باید به یک نکته توجه داشت : از آنجایی که VBE خود دارای یک دیباگر داخلی میباشد , از این رو استفاده از این متد تنها در هنگامی که قصد کمپایل نمودن برنامه نهایی را دارید توصیه میشود .

جهت استفاده ار این متد شما در ابتدا نیاز به معرفی آن خواهید داشت

دستور ذیل را در داخل یک ماژول درج نمایید

کد:
Declare Sub Antidebugging Lib "SerialShield.dll" ()

سپس در داخل رویداد مورد نظر اقدام به فراخوانی آن کنید :
کد:
Private Sub Registering_Click()
  
        Antidebugging
        'Statements

End Sub
موفق باشید


بخش چهارم آموزش قفل نرم افزاری SerialShield - CPSD Admin - ۲ آبان ۱۳۸۹ ۰۹:۵۸ عصر

کد:
Public Declare Function GetHardwardID Lib "SerialShield.dll" () As String

اين تابع اقدام به برگرداندن شماره سريالي يكتا ( کد ماشین ) بر مبنای شناسايي تركيبي CPU و Motherboard و هارد ديسك مي نمايد .

کد شناسایی در SerialShield یک کد 16 حرفی متشکل از اعداد 0 – 9 و حروف A - B - C - D - E - F - G - H مي‌باشد که به صورت دو تا دو تا از یکدیگر جدا شده‌اند .

این کد بر مبنای شناسایی HDD + CPU + Motherboard می‌باشد ( امكان انتخاب گزینشی وجود ندارد ) . کد HDD شناسایی شده در این حالت کد سخت افزاری هارد دیسک می باشد که با فرمت نمودن درایو نيز قابل تغییر نمي‌باشد ( البته در شناسایی شماره سریال برخی هارد دیسكها ناموفق عمل مي‌كند ) .

در Trial Keeper Professional این مورد به صورت بسیار جامع و انعطاف پذیری طراحی گردیده است تا سطح وسیعی از تنظیمات را در اختیار برنامه نویس قرار دهد . این امکانات به شرح ذیل می‌باشند :

• امکان انتخاب طول کد ماشین ( 8 – 12 – 16 حرفی )
• امکان انتخاب نوع کاراکترها ( حرف و عدد – تنها عدد )

در حالت حرف و عدد کد شناسایی شامل اعداد 0 – 9 و حروف A - B - C - D - E - F - G - H میباشد . با توجه به دشواری انتقال اینگونه شماره سریال‌هایی به صورت تلفنی ، ارائه شماره شناسایی تنها متشکل از عدد نیز در این اكتیو ایكس گنجانده شده است .

شماره شناسایی بر اساس شماره سریال هارد دیسک ، شماره سریال هارد دیسك ( SecureHDD ) ، مادربورد و CPU می‌باشد . ( بالغ بر پانزده حالت تركیبی )

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

کد:
Dim vMacID As String * 23
vMacID = GetMachineID()

در این نمونه کد , متغیر vMacID شامل همان کد ماشین خواهد بود .

موفق باشید


بخش پنجم آموزش SerialShield - CPSD Admin - ۱۰ آذر ۱۳۸۹ ۰۹:۵۶ عصر

در این مبحث به بررسی دو تابع موجود در داخل SerialShield که جهت رمز نگاری مورد استفاده قرار خواهند گرفت , خواهیم پرداخت

پیش مقدمه :

فرآیندی رمز نگاری , در تعریفی ساده , به عملیاتی اطلاق خواهد شد که در طی آن , اطلاعات به شیوه ای تغییر خواهند یافت که قابلیت درک توسط افراد غیر مجاز را نداشته باشند
الگوریتم مورد استفاده در SerialShield یکی از الگوریتمهای قابل اطمینان با نام TripleDES میباشد
الگوریتمی توانمند که البته همچنان در پشت سر الگوریتم AES میباشد ( الگوریتم مورد استفاده در Trial Keeper Professional )

با این مقدمه به سراغ معرفی دو تابع مذکور میرویم

کد:
Public Declare Function TripleDESEncrypt Lib "SerialShield.dll" (ByVal Text As String, ByVal Key As String) As String


تابع TripleDESEncrypt جهت رمز نگاری متن ( رشته ) ورودی مورد استفاده قرار میگیرد
جهت حفاظت از اطلاعات , شما نیاز به یک رمز انحصاری نیز خواهید داشت
به طور مثال نحوه استفاده از این تابع بدین صورت خواهد بود


کد:
Me.txtEnrypted = TripleDESEncrypt("Your Original Text Here", "Password")

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

کد:
Public Declare Function TripleDESDecrypt Lib "SerialShield.dll" (ByVal Text As String, ByVal Key As String) As String

تابع TripleDESDecrypt جهت باز گرداندن متن رمز نگاری شده به حالت اولیه و اصلی خود مورد استفاده قرار میگیرد .

اطلاعات تنها در صورتی به حالت اولیه خود ( رمز نگاری نشده ) باز خواهند گشت که رمز عبور , همان رمز عبور استفاده شده جهت عملیات رمز نگاری بوده باشد

نمونه ای از نحوه استفاده میتواند به صورت زیر باشد :

کد:
Me.txtDecrypted = TripleDESDecrypt("Your Encrypted Text Here", "Password")

موفق باشید