روش های قفل گذاری روی دیسک ها » روش های فراوانی برای قفل گذاری بر روی سیدی ها و دی ویدی ها وجود دارد . در بعضی از کشور های دنیا به دلیل نبودن قانون برای جلوگیری کپی رایت غیر قانونی نیاز به دانستن روش های قفل گذاری بر روی دیسک ها بیشتر می شود . در این مقاله به بعضی از روش های قفل گذاری اشاده میکنیم که از ان جمله می توان به روش های زیر اشاره کرد.قفل کردن دیسک به وسیله بوت سکتور,قفل گذاری دیسک به وسیله مشخصات سیستم,قفل کردن دیسک ها با استفاده از موقعیت آنها بر روی هارد دیسک,قفل کردن دیسک ها با استفاده از فرمت های غیر استاندارد,قفل کردن دیسک با استفاده از شماره سريال ساختگي,قفلهاي اکتيو ايکس,قفل های سخت افزاری نیز برای این منظور به کار می رود . پس با دانشنامه تی تیل همراه باشید.
روش های قفل گذاری روی دیسک ها
آموزش قفل گذاری روی سی دی
همانطور که میدانید، سیستم عامل جهت هر دیسکت یک شماره سریال واحد (UNIQUE) اختصاص میدهد، بطوریکه شماره سریال هر دو دیسکت با هم یکی نیستند. بنابراین همین خود یک راه تشخیص دیکست کلید (قفل) میباشد. جهت استفاده از این قفل میبایست شماره سریال دیسکت را خوانده و سپس در داخل برنامه آنرا کنترل نمائیم. یک راه ساده جهت خواندن شماره سریال، اجرای دستور VOL بصورت زیر است: VOL>> C:\DOS\LCK.TMP بعد با باز کردن فایل LCK.TMP، میتوانیم به محتویات آن دسترسی پیدا کنیم.
مراجعه به Boot Sector جهت کنترل قفل میباشد.
ضریب اطمینان این قفل در مورد دیسکت ها، دو تا پنج درصد بوده و در رابطه با هارد دیسک پنجاه تا شصت درصد میباشد. دلیل این اختلاف این است که در حالت قفل دیسکتی با کپی Boot Sector، قفل بر روی دیسکت دیگر قرار خواهد گرفت اما در رابطه با هارد دیسک اینکار به سادگی انجام پذیر نیست.
قفلگذاری با استفاده از مشخصات سیستم
در این نوع قفل نرم افزاری، برنامه قبل از اجرا ابتدا مشخصات سیستم را خوانده (که اینکار از طریق مراجعه به بخشهای خاصی از حافظه و یا مراجعه به اطلاعات BIOS انجام میشود). سپس آنرا با فایلی که قبلاً توسط نویسنده نرم افزار بر روی کامپیوتر کپی گردیده، مقایسه میکند و در صورت عدم برابری، اجرای برنامه پایان میپذیرد. این نوع قفل هنوز هم در بسیاری از برنامه ها استفاده میگردد، اما نکته قابل ذکر این است که جهت اطمینان بیشتر به قفل لازم است فایل حاوی مشخصات بصورت کد شده نوشته باشد تا امکان دستکاری آن توسط قفل شکنان به حداقل ممکن برسد. درصد اطمینان این نوع قفل 75%-65% میباشد.
قفل با استفاده از موقعیت فایل روی هارد دیسک
این نوع قفل فقط بر روی هارد دیسک قابل استفاده بوده و به این صورت است که فایل اجرایی به موقعیت خود بر روی هارد حساس میباشد چرا که قبل از اجرا ابتدا موقعیت خود را از روی سکتورهای ROOT خوانده و سپس شماره کلاستر اشاره گر به خودش را بدست میآورد، سپس آنرا با شماره کلاستری که قبلاً توسط برنامه نویس بر روی یکی از فایلهای برنامه (ممکن است بصورت کد شده باشد) قرار داده شده، مقایسه کرده و در صورت برابر بودن اجرا میشود. این نوع قفل نسبت به قفل قبلی (شماره 2) استفاده کمتری داشته چرا که در صورتیکه برنامه از روی بخشی از هارد به ناحیه دیگری انتقال یابد. اجرا نخواهد شد و این از نظر کاربر بسیار ناپسند میباشد (ضمناً امکان Scandisk، Defrag و… نیز وجود ندارد چرا که شماره کلاستر اشاره گر به فایل تغییر خواهد کرد). ضریب اطمینان این نوع قفل نیز 80%-70% میباشد.
قفل گذاری با استفاده از فرمت غیراستاندارد
این شیوه یکی از رایجترین قفلهای نرم افزاری است که هنوز هم بصورت جدی مورد استفاده قرار میگیرد. برخی از دلایل اهمیت آن عبارتند از:
امکان استفاده از روشهای متفاوت در این روش …quot; راحتی و سرعت زیاد به هنگام استفاده آن …quot; عدم وجود نرم افزار خاصی جهت باز کردن این نوع از قفلها همان طور که میدانیم سیستم عامل جهت دسترسی به اطلاعات یک دیسکت از فرمت خاصی (18 سکتور در هر تراک) استفاده میکند اما اگر یک تراک به صورت غیر استاندارد فرمت شود، (مثلاً 19 سکتور در تراک) سیستم عامل دیگر توانایی استفاده از سکتورهای غیرمجاز را نخواهد داشت و بنابراین تمام نرم افزارهای تحت سیستم عامل مزبور نیز از سکتورهای مخفی استفاده نکرده، در نتیجه امکان کپی برداری از آنها بسیار ضعیف است. ما نیز از همین روش جهت طراحی قفل مورد نظرمان استفاده میکنیم. بصورتیکه تراک آخر دیسک را بصورت یک سکتوری و با شماره 20 فرمت میکنیم. سپس جهت کنترل دیسکت به سکتور فوق مراجعه کرده و در صورت وجود، کنترل برنامه را پی میگیریم. البته غیر از تغییر شماره سکتور میتوان از اندازه غیرمجاز نیز استفاده کرد یعنی بجای اینکه سکتورها را بصورت 512 بایتی فرمت کنیم، از اندازه 1024، 2048 و… استفاده میکنیم. این قفل فقط جهت فلاپی دیسک قابل استفاده میباشد و درصد اطمینان در این روش حدود 95%-85% میباشد.
در اين قسمت دو روش ديگر قفلگذاري نرم افزاري و همچنين برخي از روشهاي قفلگذاري روس سيدي را بررسي مينماييم.
قفل گذاری با استفاده از شماره سريال ساختگي
اين روش قفلگذاري که قويترين قفل ميباشد، بصورت مخلوطي از روشهاي 1 و 4 ميباشد(به قسمت دوم مراجعه نماييد) يعني ابتدا تراک خاصي را بصورت غير استاندارد فرمت کرده و سپس اطلاعات خاصي را درون آن قرار ميدهند (شماره سريال فرضي). اين قفل فقط جهت فلاپي ديسک قابل استفاده بوده و ضريب اطمينان آن حدود 98%-90% ميباشد.
قفلهاي اکتيو ايکس
در واقع يک اکتيو ايکس که مانع اجراي برنامه در شرايط خاصي شود را قفل اکتيو ايکس مينامند. اين نوع قفل مانند ساير کامپوننتهاي برنامه نويسي است. برنامه نويس به سادگي آن را بر روي فرم برنامه خود قرار ميدهد و با تنظيم پارامترها و خصوصيات آن، سبب فعاليت آن ميشود. اين اکتيو ايکس قبل از قرار گرفتن فرم اصلي در حافظه، شروع به کار ميکند و اگر براي اولين بار اجرا ميشود برحسب اندازه حافظه، شمارهي سريال و سرعت پردازنده کد ويژه اي توليد ميکند اين کد توليد شده وابسته به خصوصيات کامپيوتر است بنابراين کد برگشتي اين اکتيو ايکس بر روي هر سيستمي متفاوت خواهد بود. پس از ارائه کد، کد معادل آن را از کاربر درخواست ميکند. کاربر با ارائه کد توليد شده به شرکت توليد کننده نرم افزار کد معادل آن را دريافت ميکند. اين کد را کاربر يا از طريق تلفن يا از طريق پست الکترونيکي و يا اينترنت دريافت ميکند در صورتيکه کد معادل دريافت شده پس از کد شدن معادل کد ارائه شده باشد يا به عبارتي ديگر کد ارائه شده از طرف کامپيوتر مکمل کد دريافت شده از شرکت باشد اکتيو ايکس اجازه ميدهد که برنامه بدون اشکال شروع به کار کند. کاربر نيز ميتواند بارها از اين کد بر روي کامپيوتر خود (کامپيوتري که کد دريافت کرده) استفاده کند. پس از ورود کد، اين کد در مکاني از سيستم مثلاً رجيستري يا يک فايل بصورت کد شده قرار ميگيرد و هر بار کامپيوتر برنامه را اجرا کند به جاي درخواست کد از کاربر، کد را از رجيستري يا فايل پس از کديابي مورد استفاده قرار ميدهد.
نقاط ضعف
– قفلهاي اکتيو ايکس نياز به دريافت کد از شرکت دارند يعني اينکه بايد کاربر حتماً به نحوي با شرکت توليد کننده تماس بگيريد و نميتواند برنامه را پس از خريد بلافاصله استفاده کند.
– قفلهاي اکتيو ايکس تنها بر روي يک سيستم اجرا ميشوند و بايد براي دريافت کد براي هر کامپيوتر اقدام شود (دشواري در نصبهاي تعداد بالا)
– قفلهاي اکتيو ايکس ممکن است با فرمت کردن، پارتيشن بندي تغيير يابد که نميتواند شرکت دقيقاً حدس بزند که اين قفل براي اين سيستم بوده يا واقعاً تغيير کرده. در اکثر قفلهاي ساخته شده تغييرات اين کد بسيار مشاهده شده است.
– با صدمه ديدن قطعهاي در کامپيوتر و يا تعويض يک قطعه برنامه تصور ميکند که سيستم تغيير يافته است مثلاً با تغيير حافظه سيستم.
نقاط قوت
– امنيت بالا براي برنامه نويس از نظر کپي برداري با تعداد بالا.
-داراي بيشترين امنيت نسبت به ساير قفلهاي نرم افزاري يا سي دي .
– سازگاري بسيار بالا نسبت به ساير قفلهاي نرم افزاري.
– قابليت آمارگيري فروش برنامه توسط شرکت ارائه کننده کد معادل قفلهاي CD با متداول شدن سي دي و يا لوح فشرده به عنوان بهترين، ارزان ترين و آسان ترين روش مبادله و تکثير اطلاعات نياز به حفاظت از آن در برابر تکثير غيرمجاز هر چه بيشتر احساس شد.
روشهاي قفل گذاري روي سي دي
روشهاي مختلفي براي قفل گذاري و حفاظت از اطلاعات روي CD وجود دارد که در ادامه تعدادي از آنها شرح داده ميشوند.
يک روش قفل گذاري اجراي برنامه از روي سي دي است. در اين حالت برنامه هنگام اجرا، به سي دي رجوع کرده و نقاط خاصي از آن را چک ميکند. اين نقاط بخشهايي هستند که به صورت فيزيکي علامت گذاري شدهاند و در واقع به نوعي صدمه ديدهاند و معمولاً اين خرابي با تابش اشعه ليزر انجام ميشود. به اين ترتيب به اصطلاح نقاط معيني از سي دي ليزرسوز ميشود. اين نقطه يا نقاط، به عنوان قفل سي دي عمل ميکند و از عمل تکثير يا کپي برداري و همچنين استفاده غيرمجاز از آن جلوگيري به عمل ميآورد.
قفلهاي حجمي
در اين روش فايلهاي CD را به حدود چند گيگا بايت افزايش ميدهند که امکان کپي شدن روي هارد را نداشته باشند. يکي از سادهترين و عموميترين روشهايي که تاکنون براي حفاظت از CD ديده شده است افزايش مجازي طول چند فايل درون CD ميباشد به نحوي که آنها تا چند صد مگا بايت به نظر ميرسند. براي انجام چنين کاري تنظيمات مربوط به طول آن فايل را در Image بر روي هم قرار ميگيرند ولي برنامه حجم واقعي هر فايل را ميداند و عمل خواندن را تا آن نقطه انجام ميدهد. بنابراين برنامه بخوبي کار ميکند. اگر کاربري سعي کند که فايلها را درون درايو دستگاهي کپي کند با شکست مواجه ميشود زيرا اين سي دي حاوي چندين گيگا بايت داده است! ولي اين روش اکنون ديگر کارايي لازم را ندارد زيرا امروزه تمام برنامههاي کپي برداري ابتدا از روي سي دي Image تصويربرداري ميکنند.
يکي از روشهاي نادر و کمياب براي حفاظت از سي ديها کنترل بر روي درايو سي دي ميباشد. از اين روش بيشتر در حفاظت بازيها استفاده ميشود و نحوه ايجاد آن به دانش بالايي نياز دارد. روش آن بدين نحو است که اطلاعاتي نادرست (عمدي) در قسمت ECC (تصحيح خطا) يک سکتور داده نوشته ميشود. سي دي نويسهاي استاندارد بصورت خودکار اين خطاها راهنگام نوشتن تصحيح ميکنند در هنگام خواندن، برنامه سکتور داده را بصورت RAW و بدون تصحيح خطا در حافظه براي تطبيق با داده هاي اصلي بار ميکند و در صورت تناقض با دادههاي اصلي برنامه اجرا نميشود.
متداولترين روشي که براي محافظت از سي دي ديده ميشود. ايجاد فاصلههايي (gaps) غيراستاندارد ما بين تراکهاي صوتي و قرار دادن انديسها در مکانهايي دور از انتظار است. سي دي که با اين روش قفلگذاري ميگردد در بسياري موارد توسط نرم افزارهاي کپي برداري معمولي و سي دي نويسهايي يکه از Disc at once پشتيباني نميکنند غيرقابل کپي برداري است. ولي با پيشرفت تکنولوژي سي دي نويسها و نرم افزارها اين روش نيز بسرعت در حال کنارهگيري است.
امروزه قرار دادن فاصله خالي يا سوراخ گذاري بر روي سي دي متداول شده است. بدين نحو بسياري از برنامهها که قصد خواندن يک تراک از ابتدا تا انتها را دارند با مشکل مواجه ميشوند.
با استفاده از دستکاري Toc سي دي. يک قفل ساز سعي دارد با دستکاري TOC اطلاعاتي دروغين را به سي دي پيوند بزند. Toc در واقع اولين تراک از CD ميباشد که اطلاعات CD مثل اندازه فايلها بر روي CD، چگونگي قرار گرفتن آنها و… را در خود نگهداري ميکند. لازم به توضيح است که هدف از طراحي قفلها نرم افزاري/سخت افزاري اين نيست که هيچکس تواناي شکستن (باز کردن) آن را ندارد. بلکه مقصود بالا بردن سطح کنترل کپيهاي غيرمجاز تا حد ممکن ميباشد. اميدواريم تا با تدوين و طراحي قانون Copyright در ايران گامي بلند در پشتيباني و حمايت از توليد کنندگان نرم افزار در کشور ما برداشته شود.