ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امیتازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
مقاله:اشنایی با قفلهای سخت افزاری و نرم افزاری
نویسنده پیام
lord_viper غایب
مدیر کل انجمن
*****

ارسال ها: 3,938
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 4838
( 9407 تشکر در 2791 ارسال )
ارسال: #1
مقاله:اشنایی با قفلهای سخت افزاری و نرم افزاری
قفل‌های نرم افزاری و سخت افزاری با توجه به فزونی نرم افزار در سیستم‌های کامپیوتری از یک طرف و توانایی کنترل کپی‌های غیرمجاز از طرفی دیگر دلیلی محکم جهت بررسی این شاخه از مهندسی نرم افزار می‌باشد. از آنجا که متأسفانه قانون Copyright در تمام جهان بجز ایران و چند کشور دیگر اجرا می‌گردد. بحث کنترل کپی‌های غیرمجاز حساس‌تر می‌شود.

با توجه به کپی‌های غیرمجازی که روزانه بصورت کاملاً عادی و بدون اطلاع سازنده آن صورت می‌گیرد، جلوگیری از این عمل و کنترل جدی آن امری ضروری و واجب به نظر می‌رسد. در این مقاله درباره شناخت انواع این قفل‌ها و چگونگی اعمال آنها بر روی یک برنامه بحث خواهد شد.

تعریف قفل‌های سخت افزاری

به هر برنامه‌ای که کنترل کپی آن از طریق سخت افزار اضافی قابل انجام می‌باشد، قفل سخت افزاری گویند.


تعریف قفل‌های نرم افزاری

به هر برنامه‌ای که کنترل کپی آن فقط از طریق نرم افزار و بدون نیاز به سخت افزار اضافی قابل انجام باشد، قفل نرم افزاری گویند.

طریقه استفاده از قفل سخت افزاری

الف) روش اول قفل‌گذاری به این صورت است که تولید کننده نرم افزار یک یا چند بایت از اطلاعات را در قفل نوشته و برنامه در هنگام اجرا آن را چک می‌کند. در صورتیکه قفل وجود داشته باشد، برنامه به کار خود ادامه می‌دهد و اگر قفل وجود نداشته باشد و یا اطلاعات خوانده شده از روی قفل صحیح نباشد، برنامه متوقف شده و با اعلام خطا، از اجرای صحیح، سرباز می‌زند. این نوع قفل‌ها دارای ساختاری ساده، حافظه‌ای در حد چند بایت، و قیمتی ارزان هستند. استفاده از این قفل‌ها بسیار ساده بوده و نیاز به تخصص خاصی ندارد، تنها کافیست که نرم افزار ویژه قفل را که (توسط شرکت تولید کننده قفل ارائه شده) اجرا نمود. در ابتدا که قفل فاقد اطلاعات است، اول یک کلمه دلخواه، به عنوان کلمه عبور درخواست کرده و سپس با توجه به نوع قفل، یک یا چند کلمه اطلاعات را دریافت و در حافظه قفل ثبت کنید. در دفعات بعد می‌بایست کلمه عبوری که اولین بار ثبت شده، وارد شود تا بتوان به اطلاعات درونی قفل دسترسی داشت. البته بعد از ورود به برنامه این اطلاعات درونی قفل دسترسی داشت. البته بعد از ورود به برنامه این کلمه قابل تغییر است. در هر صورت، پس از ثبت اطلاعات در قفل، تولید کننده نرم افزار، اطلاعات ثبت شده در یک برنامه را چک می‌کند که نحوه چک کردن اطلاعات، با توجه به نوع قفل متفاوت است. در بعضی فقط اطلاعات درون قفل چک می‌شود و در بعضی دیگر، در مرحله اول وجود قفل چک شده و در مرحله بعدی، اطلاعات درون آن چک می‌شود.

ب) روش دیگر قفل‌گذاری به این صورت است که تولید کننده نرم افزار، بخش کوچکی از برنامه را در حافظه قفل قرار می‌دهد. در این حالت، چنانچه قفل وجود نداشته باشد برنامه به هیچ وجه، قادر به اجرا و ادامه کار نخواهد بود. این نوع قفل‌ها دارای ساختاری کمی پیچیده، حافظه ای بعضاً تا چند کیلو بایت، و قیمتی نسبتاً گران هستند. استفاده از این قفل‌ها، به سادگی نوع قبلی نیست.

البته نحوه کلی کار مشابه روش قبلی است. با اجرای نرم افزار ویژه قفل و وارد نمودن کلمه عبور، باید نام فایلی را که می‌خواهیم بر روی آن قفل بزنیم، مشخص کنیم، تا بخشی از آن در قفل ثبت گردد. البته در بعضی دیگر از این نوع قفل‌ها، که حفاظت بیشتری را انجام می دهند، می‌بایست توسط تولید کننده نرم افزار دقیقاً کنترل شود که چه بخش‌هایی از فایل باید در قفل ثبت گردد که البته انجام این کار نیاز به تخصص و تجربه کافی دارد، چرا که بعضاً ممکن است که خطا در انجام کار، باعث بروز اشکال در برنامه تولیدی بشود. چون با این کار در واقع بخشی از برنامه در قفل ثبت می‌گردد، واضح است که هر قفل فقط برای یک نسخه از برنامه می‌تواند مورد استفاده قرار بگیرد و به همین علت کاربرد این قفل، کمتر است. ضمناً نوع دیگری از قفل‌ها هستند که از از هر دو روش فوق استفاده می‌کنند، اما طرفدار چندانی ندارند. قفل‌های سخت افزاری با توجه به اضافه کردن یک سخت افزار جدید به کامپیوتر (اغلب از طریق ارتباط با پورت چاپگر) برنامه خود را کنترل می‌کنند. برنامه قبل از اجرا ابتدا با توجه به مراجعه به آدرس سخت افزار نصب شده (اضافه شده با استفاده از دستور Port) به سخت افزار مورد نظر خود مراجعه کرده و در صورت یافتن آن، تست‌های مختلف اعم از تست رمز، خواندن اطلاعات و... می‌تواند تصمیم گیری نماید

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

با توجه به نوع کاربرد برنامه، اندازه، قابلیت کپی برداری از آن بر روی دیسک، تحت شبکه بودن برنامه و... می‌توانیم از انواع روش‌هایی که جهت حفاظت از نرم افزار در نظر داریم (و متعاقباً توضیح داده خواهد شد) استفاده کنیم. اما مساله قابل بحث این است که چگونه از یک قفل منتخب استفاده نمائیم؟ جواب این سوال متغیر و وابسته به شرایط زیر است می‌باشد:

الف: اعتقاد طراح نرم افزار به اینکه کاربر حتماً باید آن را خریداری نماید تا از امکانات آن مطلع گردد. در این حالت قفل نرم افزاری در ابتدای شروع به کار برنامه کنترل می‌گردد حتی طراح می‌تواند در مواقع حساس نیز قفل را مجدداً کنترل کند و یا در حالتی که طراح واقعاً سخت گیر باشد، می‌تواند در زمان های مشخصی از وجود قفل اطمینان حاصل نماید (مثلاً هر 4 ثانیه). البته در این حالت طراح باید روشی را که جهت کنترل قفل استفاده می کند، نیز در نظر بگیرد.

ب: اعتقاد طراح نرم افزار به این که کاربر می‌تواند از نرم افزار به عنوان نسخه نمایشی نیز استفاده کند. طراح در این حالت می‌بایست در مکان‌های خاصی از برنامه، قفل را کنترل کند. مثلاً در یک برنامه حسابداری می‌توان تمام بخش‌های سیستم را آزاد گذاشته (یعنی برنامه نیازی به قفل نداشته باشد) اما در صورتی که کاربر مایل به استفاده از امکانات گزارش گیری سیستم باشد، قفل نرم افزاری درخواست گردد.

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

محدودیت در تعداد کپی (Copy Limited)

در این حالت برنامه نصب کننده نرم افزار، فضای مشخصی در دیسک را با روش خاصی فرمت کرده و تعداد مجاز نسخه برداری را در آن درج می‌کند. بدین طریق با هر بار کپی کردن برنامه، یک واحد از این عدد کم می‌شود و هنگامی که تعداد مجاز آن به صفر رسید، دیگر نمی‌توان برنامه را بر روی سیستم نصب نمود. حال ممکن است این سوال مطرح شود که مگر نمی‌توان پس از نصب برنامه، از آن پشتیبان (Back up) گرفته و سپس از نسخه پشتیبان نیز، بر روی سیستم دیگری استفاده نمود؟ پاسخ منفی است. زیرا هنگام نصب، اطلاعاتی راجع به سخت افزار سیستم که می‌تواند مثلاً شامل نوع قطعات و یا شماره سریال قطعات باشد، در جایی، در محدوده قفل ذخیره می‌شود و از این پس هر بار در هنگام اجرای برنامه، این اطلاعات به دقت چک می‌شود و در صورت هر گونه تغییر، برنامه اجرا نمی‌شود.

استفاده از دیسکت، در هنگام برنامه (Required Disk)

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

آشنایی با نحوه قفل‌گذاری بر روی یک برنامه

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

ب: طراح (مجری پروژه) به سورس برنامه دسترسی ندارد. گاهی اوقات به یکسری برنامه‌های ارزشمندی برخورد می‌کنیم که فاقد قفل هستند، بنابراین نیاز به قفل‌گذاری وجود دارد (البته این حالت بیشتر در کشور ما و چند کشور دیگر که در آن ها قانون Copyright معنی ندارد، کاربرد دارد). جهت تزریق قفل به این گونه برنامه‌ها، نیاز به آشنایی کامل به ساختار فایل‌های اجرایی (EXEY, COM, SYS) وجود دارد چرا که باید برنامه‌ای راطراحی کنیم تا همانند یک ویروس کامپیوتری به فایل اجرایی مشخصی بچسبد. البته جهت اینکار بهترین زبان برنامه نویسی، اسمبلی می‌باشد (بدلیل توانایی دخالت در روند اجرای برنامه). ضمناً برای بالا بردن سطح امنیت برنامه لازم است تا یکسری کدهای ضد دیباگ در برنامه گنجانده شوند.

کدهای ضد دیباگ، دستوراتی به زبان اسمبلی هستند که در حالت اجرای عادی برنامه، هیچ تغییری در روند اجرائی نمی‌گذارند بلکه در صورتی که برنامه توسط دیباگرها اجرا گردد (مورد ارزیابی قرار گیرد) بتواند از اجرای آن جلوگیری نماید. با اضافه کردن کدهای ضد دیباگ به ابتدای برنامه (یا قبل از کنترل قفل) می‌توان احتمال دستکاری در برنامه را پایین آورد.

آشنایی با روش‌های قفل‌گذاری و نحوه طراحی آن‌ها

1- قفل‌گذاری با استفاده از شماره سریال اصلی دیسکت

همانطور که می‌دانید، سیستم عامل جهت هر دیسکت یک شماره سریال واحد (UNIQUE) اختصاص می‌دهد، بطوریکه شماره سریال هر دو دیسکت با هم یکی نیستند. بنابراین همین خود یک راه تشخیص دیکست کلید (قفل) می‌باشد. جهت استفاده از این قفل می‌بایست شماره سریال دیسکت را خوانده و سپس در داخل برنامه آنرا کنترل نمائیم. یک راه ساده جهت خواندن شماره سریال، اجرای دستور VOL بصورت زیر است: VOL>> C:\DOS\LCK.TMP بعد با باز کردن فایل LCK.TMP، می‌توانیم به محتویات آن دسترسی پیدا کنیم.

راه دیگر مراجعه به Boot Sector جهت کنترل قفل می‌باشد.

ضریب اطمینان این قفل در مورد دیسکت ها، دو تا پنج درصد بوده و در رابطه با هارد دیسک پنجاه تا شصت درصد می‌باشد. دلیل این اختلاف این است که در حالت قفل دیسکتی با کپی Boot Sector، قفل بر روی دیسکت دیگر قرار خواهد گرفت اما در رابطه با هارد دیسک اینکار به سادگی انجام پذیر نیست.

2- قفل‌گذاری با استفاده از مشخصات سیستم

در این نوع قفل نرم افزاری، برنامه قبل از اجرا ابتدا مشخصات سیستم را خوانده (که اینکار از طریق مراجعه به بخش‌های خاصی از حافظه و یا مراجعه به اطلاعات BIOS انجام می‌شود). سپس آنرا با فایلی که قبلاً توسط نویسنده نرم افزار بر روی کامپیوتر کپی گردیده، مقایسه می‌کند و در صورت عدم برابری، اجرای برنامه پایان می‌پذیرد. این نوع قفل هنوز هم در بسیاری از برنامه ها استفاده می‌گردد، اما نکته قابل ذکر این است که جهت اطمینان بیشتر به قفل لازم است فایل حاوی مشخصات بصورت کد شده نوشته باشد تا امکان دستکاری آن توسط قفل شکنان به حداقل ممکن برسد. درصد اطمینان این نوع قفل 75%-65% می‌باشد.

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

این نوع قفل فقط بر روی هارد دیسک قابل استفاده بوده و به این صورت است که فایل اجرایی به موقعیت خود بر روی هارد حساس می‌باشد چرا که قبل از اجرا ابتدا موقعیت خود را از روی سکتورهای ROOT خوانده و سپس شماره کلاستر اشاره گر به خودش را بدست می‌آورد، سپس آنرا با شماره کلاستری که قبلاً توسط برنامه نویس بر روی یکی از فایل‌های برنامه (ممکن است بصورت کد شده باشد) قرار داده شده، مقایسه کرده و در صورت برابر بودن اجرا می‌شود. این نوع قفل نسبت به قفل قبلی (شماره 2) استفاده کمتری داشته چرا که در صورتیکه برنامه از روی بخشی از هارد به ناحیه دیگری انتقال یابد. اجرا نخواهد شد و این از نظر کاربر بسیار ناپسند می‌باشد (ضمناً امکان Scandisk، Defrag و... نیز وجود ندارد چرا که شماره کلاستر اشاره گر به فایل تغییر خواهد کرد). ضریب اطمینان این نوع قفل نیز 80%-70% می‌باشد.

4- قفل با استفاده از فرمت غیراستاندارد

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

امکان استفاده از روش‌های متفاوت در این روش �€" راحتی و سرعت زیاد به هنگام استفاده آن �€" عدم وجود نرم افزار خاصی جهت باز کردن این نوع از قفل‌ها همان طور که می‌دانیم سیستم عامل جهت دسترسی به اطلاعات یک دیسکت از فرمت خاصی (18 سکتور در هر تراک) استفاده می‌کند اما اگر یک تراک به صورت غیر استاندارد فرمت شود، (مثلاً 19 سکتور در تراک) سیستم عامل دیگر توانایی استفاده از سکتورهای غیرمجاز را نخواهد داشت و بنابراین تمام نرم افزارهای تحت سیستم عامل مزبور نیز از سکتورهای مخفی استفاده نکرده، در نتیجه امکان کپی برداری از آنها بسیار ضعیف است. ما نیز از همین روش جهت طراحی قفل مورد نظرمان استفاده می‌کنیم. بصورتیکه تراک آخر دیسک را بصورت یک سکتوری و با شماره 20 فرمت می‌کنیم. سپس جهت کنترل دیسکت به سکتور فوق مراجعه کرده و در صورت وجود، کنترل برنامه را پی می‌گیریم. البته غیر از تغییر شماره سکتور می‌توان از اندازه غیرمجاز نیز استفاده کرد یعنی بجای اینکه سکتورها را بصورت 512 بایتی فرمت کنیم، از اندازه 1024، 2048 و... استفاده می‌کنیم. این قفل فقط جهت فلاپی دیسک قابل استفاده می‌باشد و درصد اطمینان در این روش حدود 95%-85% می‌باشد.

در این قسمت دو روش دیگر قفل‌گذاری نرم افزاری و همچنین برخی از روش‌های قفل‌گذاری روس سی‌دی را بررسی می‌نماییم.

5- قفل با استفاده از شماره سریال ساختگی

این روش قفل‌گذاری که قوی‌ترین قفل می‌باشد، بصورت مخلوطی از روش‌های 1 و 4 می‌باشد(به قسمت دوم مراجعه نمایید) یعنی ابتدا تراک خاصی را بصورت غیر استاندارد فرمت کرده و سپس اطلاعات خاصی را درون آن قرار می‌دهند (شماره سریال فرضی). این قفل فقط جهت فلاپی دیسک قابل استفاده بوده و ضریب اطمینان آن حدود 98%-90% می‌باشد.

6- قفل‌های اکتیو ایکس

در واقع یک اکتیو ایکس که مانع اجرای برنامه در شرایط خاصی شود را قفل اکتیو ایکس می‌نامند. این نوع قفل مانند سایر کامپوننت‌های برنامه نویسی است. برنامه نویس به سادگی آن را بر روی فرم برنامه خود قرار می‌دهد و با تنظیم پارامترها و خصوصیات آن، سبب فعالیت آن می‌شود. این اکتیو ایکس قبل از قرار گرفتن فرم اصلی در حافظه، شروع به کار می‌کند و اگر برای اولین بار اجرا می‌شود برحسب اندازه حافظه، شماره‌ی سریال و سرعت پردازنده کد ویژه ای تولید می‌کند این کد تولید شده وابسته به خصوصیات کامپیوتر است بنابراین کد برگشتی این اکتیو ایکس بر روی هر سیستمی متفاوت خواهد بود. پس از ارائه کد، کد معادل آن را از کاربر درخواست می‌کند. کاربر با ارائه کد تولید شده به شرکت تولید کننده نرم افزار کد معادل آن را دریافت می‌کند. این کد را کاربر یا از طریق تلفن یا از طریق پست الکترونیکی و یا اینترنت دریافت می‌کند در صورتیکه کد معادل دریافت شده پس از کد شدن معادل کد ارائه شده باشد یا به عبارتی دیگر کد ارائه شده از طرف کامپیوتر مکمل کد دریافت شده از شرکت باشد اکتیو ایکس اجازه می‌دهد که برنامه بدون اشکال شروع به کار کند. کاربر نیز می‌تواند بارها از این کد بر روی کامپیوتر خود (کامپیوتری که کد دریافت کرده) استفاده کند. پس از ورود کد، این کد در مکانی از سیستم مثلاً رجیستری یا یک فایل بصورت کد شده قرار می‌گیرد و هر بار کامپیوتر برنامه را اجرا کند به جای درخواست کد از کاربر، کد را از رجیستری یا فایل پس از کدیابی مورد استفاده قرار می‌دهد.

نقاط ضعف:

- قفل‌های اکتیو ایکس نیاز به دریافت کد از شرکت دارند یعنی اینکه باید کاربر حتماً به نحوی با شرکت تولید کننده تماس بگیرید و نمی‌تواند برنامه را پس از خرید بلافاصله استفاده کند.

- قفل‌های اکتیو ایکس تنها بر روی یک سیستم اجرا می‌شوند و باید برای دریافت کد برای هر کامپیوتر اقدام شود (دشواری در نصب‌های تعداد بالا(

- قفل‌های اکتیو ایکس ممکن است با فرمت کردن، پارتیشن بندی تغییر یابد که نمی‌تواند شرکت دقیقاً حدس بزند که این قفل برای این سیستم بوده یا واقعاً تغییر کرده. در اکثر قفل‌های ساخته شده تغییرات این کد بسیار مشاهده شده است.

- با صدمه دیدن قطعه‌ای در کامپیوتر و یا تعویض یک قطعه برنامه تصور می‌کند که سیستم تغییر یافته است مثلاً با تغییر حافظه سیستم.

نقاط قوت:

- امنیت بالا برای برنامه نویس از نظر کپی برداری با تعداد بالا.

-دارای بیشترین امنیت نسبت به سایر قفل‌های نرم افزاری یا سی دی .

- سازگاری بسیار بالا نسبت به سایر قفل‌های نرم افزاری.

- قابلیت آمارگیری فروش برنامه توسط شرکت ارائه کننده کد معادل قفل‌های CD با متداول شدن سی دی و یا لوح فشرده به عنوان بهترین، ارزان ترین و آسان ترین روش مبادله و تکثیر اطلاعات نیاز به حفاظت از آن در برابر تکثیر غیرمجاز هر چه بیشتر احساس شد.

روش‌های قفل‌گذاری روی سی دی

روش‌های مختلفی برای قفل‌گذاری و حفاظت از اطلاعات روی CD وجود دارد که در ادامه تعدادی از آنها شرح داده می‌شوند.

1- یک روش قفل‌گذاری اجرای برنامه از روی سی دی است. در این حالت برنامه هنگام اجرا، به سی دی رجوع کرده و نقاط خاصی از آن را چک می‌کند. این نقاط بخش‌هایی هستند که به صورت فیزیکی علامت گذاری شده‌اند و در واقع به نوعی صدمه دیده‌اند و معمولاً این خرابی با تابش اشعه لیزر انجام می‌شود. به این ترتیب به اصطلاح نقاط معینی از سی دی لیزرسوز می‌شود. این نقطه یا نقاط، به عنوان قفل سی دی عمل می‌کند و از عمل تکثیر یا کپی برداری و همچنین استفاده غیرمجاز از آن جلوگیری به عمل می‌آورد.

2- قفل‌های حجمی، در این روش فایل‌های CD را به حدود چند گیگا بایت افزایش می‌دهند که امکان کپی شدن روی هارد را نداشته باشند. یکی از ساده‌ترین و عمومی‌ترین روش‌هایی که تاکنون برای حفاظت از CD دیده شده است افزایش مجازی طول چند فایل درون CD می‌باشد به نحوی که آنها تا چند صد مگا بایت به نظر می‌رسند. برای انجام چنین کاری تنظیمات مربوط به طول آن فایل را در Image بر روی هم قرار می‌گیرند ولی برنامه حجم واقعی هر فایل را می‌داند و عمل خواندن را تا آن نقطه انجام می‌دهد. بنابراین برنامه بخوبی کار می‌کند. اگر کاربری سعی کند که فایل‌ها را درون درایو دستگاهی کپی کند با شکست مواجه می‌شود زیرا این سی دی حاوی چندین گیگا بایت داده است! ولی این روش اکنون دیگر کارایی لازم را ندارد زیرا امروزه تمام برنامه‌های کپی برداری ابتدا از روی سی دی Image تصویربرداری می‌کنند.

3- یکی از روش‌های نادر و کمیاب برای حفاظت از سی دی‌ها کنترل بر روی درایو سی دی می‌باشد. از این روش بیشتر در حفاظت بازی‌ها استفاده می‌شود و نحوه ایجاد آن به دانش بالایی نیاز دارد. روش آن بدین نحو است که اطلاعاتی نادرست (عمدی) در قسمت ECC (تصحیح خطا) یک سکتور داده نوشته می‌شود. سی دی نویس‌های استاندارد بصورت خودکار این خطاها راهنگام نوشتن تصحیح می‌کنند در هنگام خواندن، برنامه سکتور داده را بصورت RAW و بدون تصحیح خطا در حافظه برای تطبیق با داده های اصلی بار می‌کند و در صورت تناقض با داده‌های اصلی برنامه اجرا نمی‌شود.

4- متداول‌ترین روشی که برای محافظت از سی دی دیده می‌شود. ایجاد فاصله‌هایی (gaps) غیراستاندارد ما بین تراک‌های صوتی و قرار دادن اندیس‌ها در مکان‌هایی دور از انتظار است. سی دی که با این روش قفل‌گذاری می‌گردد در بسیاری موارد توسط نرم افزارهای کپی برداری معمولی و سی دی نویس‌هایی یکه از Disc at once پشتیبانی نمی‌کنند غیرقابل کپی برداری است. ولی با پیشرفت تکنولوژی سی دی نویس‌ها و نرم افزارها این روش نیز بسرعت در حال کناره‌گیری است.

5- امروزه قرار دادن فاصله خالی یا سوراخ گذاری بر روی سی دی متداول شده است. بدین نحو بسیاری از برنامه‌ها که قصد خواندن یک تراک از ابتدا تا انتها را دارند با مشکل مواجه می‌شوند.

6- با استفاده از دستکاری Toc سی دی. یک قفل ساز سعی دارد با دستکاری TOC اطلاعاتی دروغین را به سی دی پیوند بزند. Toc در واقع اولین تراک از CD می‌باشد که اطلاعات CD مثل اندازه فایل‌ها بر روی CD، چگونگی قرار گرفتن آنها و... را در خود نگهداری می‌کند. لازم به توضیح است که هدف از طراحی قفل‌ها نرم افزاری‌/‌سخت افزاری این نیست که هیچکس توانای شکستن (باز کردن) آن را ندارد. بلکه مقصود بالا بردن سطح کنترل کپی‌های غیرمجاز تا حد ممکن می‌باشد.
۲۷-فروردين-۱۳۸۷ ۲۰:۲۴:۴۶
مشاهده وب سایت کاربر یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : Di Di, mbza11, Payman62, ajlajlajl, Iron_Fist, diamond_sh, nabegheh95, tx-mafia
amin_vb آفلاین
داره خودموني مي شه
**

ارسال ها: 66
تاریخ عضویت: فروردين ۱۳۸۴

تشکرها : 27
( 13 تشکر در 10 ارسال )
ارسال: #2
RE: مقاله:اشنایی با قفلهای سخت افزاری و نرم افزاری
نقل قول :قفل با استفاده از فرمت غیراستاندارد

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

امکان استفاده از روش‌های متفاوت در این روش �€" راحتی و سرعت زیاد به هنگام استفاده آن �€" عدم وجود نرم افزار خاصی جهت باز کردن این نوع از قفل‌ها همان طور که می‌دانیم سیستم عامل جهت دسترسی به اطلاعات یک دیسکت از فرمت خاصی (18 سکتور در هر تراک) استفاده می‌کند اما اگر یک تراک به صورت غیر استاندارد فرمت شود، (مثلاً 19 سکتور در تراک) سیستم عامل دیگر توانایی استفاده از سکتورهای غیرمجاز را نخواهد داشت و بنابراین تمام نرم افزارهای تحت سیستم عامل مزبور نیز از سکتورهای مخفی استفاده نکرده، در نتیجه امکان کپی برداری از آنها بسیار ضعیف است. ما نیز از همین روش جهت طراحی قفل مورد نظرمان استفاده می‌کنیم. بصورتیکه تراک آخر دیسک را بصورت یک سکتوری و با شماره 20 فرمت می‌کنیم. سپس جهت کنترل دیسکت به سکتور فوق مراجعه کرده و در صورت وجود، کنترل برنامه را پی می‌گیریم. البته غیر از تغییر شماره سکتور می‌توان از اندازه غیرمجاز نیز استفاده کرد یعنی بجای اینکه سکتورها را بصورت 512 بایتی فرمت کنیم، از اندازه 1024، 2048 و... استفاده می‌کنیم. این قفل فقط جهت فلاپی دیسک قابل استفاده می‌باشد و درصد اطمینان در این روش حدود 95%-85% می‌باشد.

سلام
ببخشید من یه دونه الان از این مدل سی دی ها دارم
اینا هنوز هم هیچ روشی برای کپی ندارن ؟
خود نرم افزار چطور می تونه از این اطلاعات را این فرمت نامتعارف استفاده کنه ؟


با چه نرم افزاری میشه اینا رو تولید کرد کلا" ؟ یعنی چطور میشه سی دی رو طوری فرمت کرد که کپی نشه ؟
۸-ارديبهشت-۱۳۸۷ ۲۰:۴۰:۴۱
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال ها: 3,938
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 4838
( 9407 تشکر در 2791 ارسال )
ارسال: #3
RE: مقاله:اشنایی با قفلهای سخت افزاری و نرم افزاری
من تا حالا به همچین cd بر نخوردم و برای کپی کردن cd های قفل دار از alchol120 استفاده میکنم که یه نرم افزار برای ایجاد فایلهای iso و رایت اون هست
با نرم افزارهای قفل سیدی مثل laserlock و cdlock معمولا این کارها رو انجام میدن
۸-ارديبهشت-۱۳۸۷ ۲۱:۴۹:۱۰
مشاهده وب سایت کاربر یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
NO DONGLE غایب
مدیر بخش نفوذ و امنیت
*****

ارسال ها: 205
تاریخ عضویت: مهر ۱۳۹۱

تشکرها : 19
( 606 تشکر در 212 ارسال )
ارسال: #4
RE: مقاله:اشنایی با قفلهای سخت افزاری و نرم افزاری
در بعضی مواقع استفاده از لینوکس موثره ودر بعضی موارد از برنامه لایه دار مثه iso buster ,... استفاده میشه
۱۳-شهريور-۱۳۹۲ ۰۰:۳۷:۴۹
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : babyy
ارسال پاسخ 


موضوع های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  کرک قفل سخت افزاری IISecurity.C 52 21,467 ۲۷-تير-۱۳۹۲ ۱۰:۵۷:۱۰
آخرین ارسال: NO DONGLE
  نحوه کرک کردن قفل نرم افزاری HDCS mansour92 3 1,194 ۲۶-فروردين-۱۳۹۲ ۲۲:۵۵:۰۹
آخرین ارسال: babyy
  مقاله : تزریق کد به کد باینری lord_viper 4 3,257 ۵-فروردين-۱۳۹۲ ۲۳:۴۷:۱۵
آخرین ارسال: بهروز عباسی
  درخواست کرک قفل نرم افزاری الخشعین vixen357ka 1 706 ۱۵-بهمن-۱۳۹۱ ۲۳:۰۹:۳۰
آخرین ارسال: sezar21m
  قفل نرم افزاری yuhooo 2 844 ۲۶-مهر-۱۳۹۰ ۰۹:۴۰:۴۹
آخرین ارسال: yuhooo
Question [سوال] رمز گشائی از قفل سخت افزاری batiban 1 1,004 ۲۵-مهر-۱۳۹۰ ۲۱:۲۲:۵۰
آخرین ارسال: esafb52
  آموزش تغيير دادن كد سخت افزاري Enigma 1.65 Sh4DoVV 0 993 ۳۰-مهر-۱۳۸۸ ۲۱:۵۰:۲۱
آخرین ارسال: Sh4DoVV
  کرک قفل سخت افزاری sadra1234 11 3,832 ۲۰-اسفند-۱۳۸۷ ۰۱:۱۱:۴۱
آخرین ارسال: far_222000
  ایجاد یک قفل نرم افزاری ( تولید کد با XOR ) Di Di 10 4,513 ۱۱-اسفند-۱۳۸۷ ۲۳:۳۳:۰۹
آخرین ارسال: lord_viper
  مقاله : اموزش dcompress upx lord_viper 0 1,324 ۱۹-خرداد-۱۳۸۷ ۲۰:۳۶:۴۵
آخرین ارسال: lord_viper

پرش به انجمن: