یکی از مشكلات برنامه نويسان كپي هاي غير مجاز از برنامه هاي آنهاست كه باعث خسارات سنگيني به آنها مي شود اكثر راه حل هاي مورد استفاده نيز چندان عملي نيست و باز هم بعد از مدت كوتاهي نرم افزار كرك شده با قيمت بسيار پاييني به فروش مي رسد كه باعث از بين بردن تلاشهاي بعضا چند ساله برنامه نويسان مي شود در اين بين نرم افزار هاي حرفه اي مشكلات بيشتري را دارند چون از ارزش بيشتري برخوردارند و كركرها وقت بيشتري براي آنها مي گذارند و قفلهاي پيچيده تر را نيز مي شكنند به همين خاطر بسياري از برنامه نويسان سراغ برنامه هاي حرفه اي نمي روند چون امنيتي براي نرم افزارشان نمي بينند
راههاي بسياري براي جلوگيري از كپي نشدن برنامه وجود دارد ولي هيچ كدام عملا غير قابل نفوذ نيستند و فقط كار كركر را سخت مي كنند اگر برنامه اي داراي ارزش پاييني باشد مي توان با استفاده از راههاي معمول مانند استفاده از شماره سريال قفل گذاري روي سي دي و … جلوي نفوذ گران را گرفت ولي براي برنامه هايي با ارزش بالا چي؟ انواع و اقسام قفلهاي روي سي دي مانند قفلهاي حجمي - قفلهايي كه با دستكاري FAT انجام مي شوند و … نمي توانند مفيد باشند چون خود برنامه اجرايي بايد به طور صحيح روس سي دي قرار گيرد و سيستم عامل ويندوز بايد بتواند آنرا از روي سي دي بخواند يا حداكثر بايد بتواند در حافظه قرار گيرد يك كركر عادي نيز مي تواند اين برنامه را از حافظه RAM خوانده و در جايي كپي كند البته معمولا كار به اين پيچيده گي ها هم نيست و با نرم افزار هاي ديتا ريكاوري مي توان آنها را باز گرداند راه هاي ديگري مانند Encrypt كردن برنامه و راههاي جلوگيري از ديباگ كه توسط نرم افزار هاي جانبي ارايه مي شود نيز چندان مفيد نبوده و كار كركر را در پيدا كردن برنامه اصلي و اصطلاحا Dump كردن آن از حافظه RAM بدون اين محافظ هاي اضافي مشكل مي كند. استفاده از شماره سريال هارد و … يا تركيبي از آنها نيز مشكلاتي را در بر دارد كه اولا در صورت تغيير سخت افزار ويندوز يا … برنامه شما از كار افتاده و كار بر را ناراضي مي كند و يا حتي كار بر براي نصب اين برنامه روي كامپيوتر ديگر به راحتي به دروغ به شما مي گويد كه به علت نصب دو باره ويندوز شماره سريالش از كار افتاده (يا مثلا عوض كردن هارد) و نياز به شماره سريال جديد دارد و در ثاني تغيير اين شماره سريال ها هم بعضا به راحتي امكان پذير است مثلا با يك برنامه كوچك كه به عنوان كرك همراه برنامه شما فرستاده مي شود مي توان شماره سريال هارد را به عددي كه با شماره سريال فرستاده همراه سي دي برابر باشد عوض كرد يا اگر از DLL يا تابع خاصي براي اين كار استفاده كرده باشيد مي توان آنرا طوري تغيير داد كه هميشه يك عدد را برگرداند و بتوان آنرا روي هر كامپيوتري نصب كرد
