Cracking – dziedzina informatyki zajmująca się łamaniem zabezpieczeń oprogramowania, a także sam proces łamania danego zabezpieczenia. Pojęcie cracking odnosi się do zbioru działań polegających na analizie i zmianie działania funkcji programu w szczególności związanych z jego zabezpieczeniami w celu ich ominięcia bez korzystania z kodu źródłowego programu. Fundamentem crackingu jest tak zwana inżynieria wsteczna polegająca na tłumaczeniu skompilowanego programu z powrotem na język programowania najczęściej niższego poziomu[1]. Słowo cracking wywodzi się od angielskiego czasownika crack („łamać”). Cracking dokonywany jest najczęściej z naruszeniem praw autorskich, a tym samym nielegalnie (wyjątkiem od tej reguły jest łamanie crackme). Termin cracking zaczął być używany w odniesieniu do łamania zabezpieczeń oprogramowania w latach 80. XX w. (zobacz: crack, cracker). Czasami można również spotkać się z użyciem pojęcia cracking sieciowy jako alternatywa dla terminu hacking w odniesieniu do łamania zabezpieczeń komputerów w sieciach komputerowych. Łamanie oraz rozpowszechnianie zmodyfikowanego przez crackerów oprogramowania poza nielicznymi wyjątkami (crackme) jest obecnie nielegalne i karane w większości krajów na świecie.