برای جلوگیری از استفاده غیرمجاز از برنامه ها و یاتکثیرغیرقانونی آنها، اصطلا حا به آنها قفل می زنند. قفل گذاری کلا به دو روش نرمافزاری و سخت افزاری انجام می شود. قفل سخت افزاری (Hardware lock) چنانچه ازسختافزارخاصی برای قفل گذاری استفاده شود، به آن قفل سخت افزاری می گوییم. این قفلهابعضی به صورت یک رابط روی پورت پارالل سیستم نصب می شوند که البته هر دو نوع آنعملکرد مشابه دارند. بخش اصلی قفل، از یک حافظه قابل پاک شدن تشکیل شده که با توجهبه نوع و حجم آن، دارای عملکردی متفاوت می باشد و عمدتا به یکی از دو روش زیر عملمی کند:
الف)روش اول قفل گذاری به این صورت استکه تولید کننده نرم افزار یک یا چند بایت از اطلاعات را در قفل نوشته و برنامه درهنگام اجرا آن را چک می کند. در صورتی که قفل وجود داشته باشد، برنامه به کار خودادامه می دهد و اگر قفل وجود نداشته باشد و یا اطلاعات خوانده شده از روی قفل صحیحنباشد، برنامه متوقف شده و با اعلام خطا، از اجرای صحیح، سربازمی زند.این نوع قفلها دارای ساختاری ساده، حافظه ای در حد چند بایت، و قیمتی ارزان هستند. استفاده ازاین قفل ها بسیار ساده بوده و نیاز به تخصص خاصی ندارد،فقط کافیست که نرم افزارویژه قفل را (که توسط شرکت تولید کننده قفل ارایه شده) اجرا نمود. در ابتدا که قفلفاقد اطلاعات است، اول یک کلمه دلخواه، به عنوان کلمه عبور درخواست کرده و سپس باتوجه به نوع قفل، یک یا چند کلمه اطلاعات را دریافت و در حافظه قفل ثبت کنید. دردفعات بعد می بایست کلمه عبوری که اولین بار ثبت شده، وارد شود تا بتوان به اطلاعاتدرونی قفل دسترسی داشت. البته بعد از ورود به برنامه این کلمه قابل تغییر است. درهر صورت، پس از ثبت اطلاعات در قفل، تولید کننده نرم افزار، اطلاعات ثبت شده در یکبرنامه چک می کند که شیوه چک کردن اطلاعات، با توجه به نوع قفل متفاوت است. در بعضیفقط اطلاعات درون قفل چک می شود و در بعضی دیگر، در مرحله اول وجود قفل چک شده و درمرحله بعدی، اطلاعات درون آن چک می شود. ب)روش دیگرقفل گذاری به این صورت است که تولید کننده نرم افزار، بخش کوچکی از برنامه را درحافظه قفل قرار می دهد که در این حالت، چنانچه قفل وجود نداشته باشد برنامه به هیچوجه، قادر به اجرا و ادامه کار نخواهد بود. این نوع قفل ها، دارای ساختاری کمیپیچیده، حافظه ای بعضا تا چند کیلو بایت، و قیمتی نسبتا گران هستند.استفاده از اینقفل ها، به سادگی نوع قبلی نیست. البته شیوه کلی کار مشابه روش قبلی است. با اجراینرم افزار ویژه قفل و وارد نمودن کلمه عبور، باید نام فایلی را که می خواهیم روی آنقفل بزنیم، مشخص کنیم، تا بخشی از آن در قفل ثبت گردد. البته در بعضی دیگر از ایننوع قفل ها، که حفاظت بیشتری را انجام می دهند، می بایست توسط تولید کننده نرمافزار دقیقا کنترل شود که چه بخش هایی از فایل باید در قفل ثبت گردد که ابته انجاماین کار نیاز به تخصص و تجربه کافی دارد، چرا که بعضا ممکن است که خطا در انجامکار، باعث بروز اشکال در برنامه تولیدی بشود. چون با این کار در واقع بخشی ازبرنامه در قفل ثبت می گردد، واضح است که هر قفل فقط برای یک نسخه از برنامه میتواند مورد استفاده قرار بگیرد و به همین علت کاربرد این قفل، کمتر است. ضمنا نوعدیگری از قفل ها هستند که هر دو روش فوق استفاده می کنند، اما طرفدار چندانیندارند. قفل نرم افزاری (Software Lock) چنانچه از روش ها و ترفند های نرمافزاری، برای قفل گذاری استفاده شود، به آن قفل نرم افزاری می گوییم. قفل های نرمافزاری دارای تنوع بیشتری بوده و بعضا از لحاظ طراحی و اجرا سلیقه ای و ابتکاری میبا شند. اما می توان شیوه عملکرد اکثر آنها را، توسط یکی از ۳ روش ذیل، تشریح نمود: ۱)محدودیت در تعداد کپی(Copy Limited) در این حالتبرنامه نصب کننده نرم افزار، فضای مشخصی در دیسک را با روش خاصی مرمت کرده، و تعدادمجاز نسخه برداری را در آن درج می کند. بدین طریق با هر بار کپی کردن برنامه، یکواحد از این عدد کم می شود و هنگامی که تعداد مجاز آن به صفر رسید، دیگر نمی توانبرنامه را روی سیستم نصب نمود. حال ممکن است این سوال مطرح شود که مگر نمی توان پساز نصب برنامه، از آنپشتیبانی(Back Up) گرفته و سپس از نسخه پشتیبان نیز، روی سیستمدیگری استفاده نمود؟ پاسخ منفی است. زیرا هنگام نصب، اطلاعاتی راجع به سخت افزارسیستم که می تواند مثلا شامل نوع قطعات و یا شماره سریال قطعات باشد، در جایی، درمحدوده قفل ذخیره می شود و از این پس هر بار در هنگام اجرای برنامه، این اطلاعات بهدقت چک می شود و در صورت هرگونه تغییر، برنامه اجرا نمی شود. ۲)استفاده از دیسکت، در هنگام اجرای برنامه (Disk Required) دراین حالت، دیسکت مورد نظر، یا به روش خاصی فرمت می شود و سپس در هنگام اجرا،اطلاعات روی آن بررسی می شود، و یا اینکه قسمتی از دیسکت را به صورت فیزیکی و عمدیخراب می کنند و در اینجا، در واقع همان صدمه ای که به عمد، بر سطح دیسکت وارد شدهاست، به عنوان قفل و محافظ نرم افزار عمل می کند. از این پس برای انتقال برنامه ازیک سیستم به سیستم دیگر، این فلاپی مانند قفل سخت افزاری عمل می کند و می بایستمختصات آن توسط برنامه تایید شود و چنانچه این فلاپی در درایو نباشد، برنامه اجرانخواهد شد. ۳)قفل سی دی (اجرا از روی سی دی) بامتداول شدن سی دی ویا لوح فشرده، روش جدیدی در قفل گذاری ابداع شد و آن اجرایبرنامه از روی سی دی است. در این حالت برنامه هنگام اجرا، به سی دی رجوع کرده ونقاط خاصی از آن را چک می کند. این نقاط بخش هایی هستند که به صورت فیزیکی علامتگذاری شده اند ودر واقع به نوعی صدمه دیده اند و معمولا این خرابی با تابش اشعهلیزر انجام می شود. به این ترتیب به اصطلاح نقاط معینی از سی دی لیزرسوز می شود. این نقطه یا نقاط به عنوان قفل سی دی عمل می کند و از عمل تکثیر یا کپی برداری وهمچنین استفادهغیر مجاز از آن جلوگیری به عمل می آورد.در خاتمه سوالی که در مورد سهروش فوق الذکر مطرح است، این است که آیا می توان قبل از نصب، از دیسکت ها وسی دیهای قفل گذاری شده کپی تهیه کرد و سپس آنها را نصب کرد؟ پاسخ منفی است، زیراهمانگونه که اشاره شد، یا بخشی از دیسکت و یا همه آن، به روش خاصی فرمت می شود کهقابل کپی برداری نیست و یا اینکه محل ونقاطی که روی دیسکت و یاسی دی، به صورتفیزیکی و عمدی صدمه دیده اند، اجازه کپی برداری را نمی دهند و مانع از انجام اینکار می شوند.