קראק (תוכנה)

קראק (מלועזית: Crack) הוא תוכנית המיועדת לעקיפת מנגנון הגנה של תוכנה, כלומר לאפשר שימוש מלא בתוכנה מסוימת, כזו שמורידים מהאינטרנט בגרסאות הדגמה או ניסיון או כזו שנמכרת עם מנגנון הגנה שנועד למנוע הפצה לא חוקית. מטרת הקראק היא עקיפת המנגנונים בתוכנה שנועדו להגביל את השימוש בה.

הקראקים אינם תופסים מקום רב בזיכרון המחשב (בדרך כלל מדובר על מגה בייטים בודדים). הקראק משטה בתוכנה וגורם לה "לחשוב" שהמשתמש רכש אותה, או שהוא פשוט מונע ממנה לבדוק האם היא נרכשה. ישנם סוגים של קראקים המבטלים את הצורך בתקליטורים כאשר התוכנה על דיסק קשיח, או שמאפשרים להעתיק את התוכנה כאשר היא מוגנת. ברוב המקרים שימוש בקראק לא יעזור אם תוכנה או חלק ממנה תלויים בשירותי החברה באינטרנט, שכן אימות המספר הסידורי ייכשל בשרתי החברה המספקת את השירות.

שימוש בקראק עלול להוות הפרת זכויות היוצרים.

יצירת קראק 
יצירת קראק קלאסי כוללת לרוב שלושה שלבים עיקריים:
 שימוש בהידור לאחור כדי לקבל את רשימת ההוראות התכנותיות של תוכנית המחשב.
 ביצוע מעקב (Debug) וניתוח התוכנית בשיטות שונות כדי להבין היכן וכיצד מתבצעות בדיקות המקוריות.
 החלפת ההוראות שמבצעות את בדיקות המקוריות בהוראות חלופיות שגורמות לשינוי באופי זרימת התוכנית כך שהבדיקות המקוריות לכאורה תמיד יצליחו.

ראו גם
 מספר סידורי (תוכנה)
 הגנת תוכנה
 DEViANCE
 פריצת תוכנה

העתקה פירטית של תוכנה