1. 斷點︰所謂斷點就是程式被中斷的地方，這個詞對於解密者來說是再熟悉不過了。那麼什麼又是中斷呢？中斷就是由於有特殊事件（中斷事件）發生，計算機暫停當前的任務（即程式），轉而去執行另外的任務（中斷服務程式），然後再返回原先的任務繼續執行。打個比方︰你正在上班，突然有同學打電話告訴你他從外地坐火車過來，要你去火車站接他。然後你就向頭家臨時請假，趕往火車站去接同學，接著將他安頓好，隨後你又返回公司繼續上班，這就是一個中斷過程。我們解密的過程就是等到程式去獲取我們輸入的註冊碼並準備和正確的註冊碼相比較的時候將它中斷下來，然後我們透過分析程式，找到正確的註冊碼。所以我們需要為被解密的程式設定斷點，在適當的時候切入程式內部，追蹤到程式的註冊碼，從而達到crack的目的。
3. API︰即Application Programming Interface的簡寫，中文叫應用程式編程界面，是一個系統定義函數的大集合，它提供了訪問作業系統特徵的方法。 API包含了幾百個應用程式調用的函數，這些函數執行所有必須的與作業系統相關的操作，如內存分發、向螢幕輸出和創建視窗等，用戶的程式透過調用API界面同WINDOWS打交道，無論什麼樣的應用程式，其底層最終都是透過調用各種API函數來實現各種功能的。通常API有兩中基本形式︰Win16和 Win32。 Win16是原來的、API的16位版本，用於Windows 3.1；Win32是現下的、API的32位版本，用於Windows 95/98/NT/ME/2000。Win32包括了Win16，是Win16的超集，大多數函數的名字、用法都是相同的。16位的API函數和32位的 API函數的區別在於最後的一個字母，例如我們設定這樣的斷點︰bpx GetDlgItemText、bpx GetDlgItemTextA和bpx GetDlgItemTextW，其中 GetDlgItemText是16位API函數，GetDlgItemTextA和GetDlgItemTextW是32位API函數，而 GetDlgItemTextA表示函數使用單位元組，GetDlgItemTextW表示函數使用雙位元組。現下我們破解中常用到的是Win32單位元組API函數，就是和GetDlgItemTextA類似的函數，其它的兩種（Win16 API和Win32雙位元組API函數）則比較少見。 Win32 API函數包含在動態鏈接庫（Dynamic Link Libraries，簡稱DLLs）中，即包含在kernel32.dll、user32.dll、gdi32.dll和comctl32.dll中，這就是為什麼我們要在softice中用exp=C:\windows\system\kernel32.dll等命令行將這些動態鏈接庫匯入 softice中的原因。因為不這樣做的話，我們就無法攔截到系統Win32 API函數調用了。
4. 關於程式中註冊碼的存在模式︰破解過程中我們都會去找程式中將輸入的註冊碼和正確的註冊碼相比較的地方，然後透過對程式的跟蹤、分析找到正確的註冊碼。但是正確的註冊碼通常在程式中以兩種形態存在︰顯式的和隱式的，對於顯式存在的註冊碼，我們可以直接在程式所處的內存中看到它，例如你可以直接在 SOFTICE的數據視窗中看到類似"297500523″這樣存在的註冊碼（這裡是隨意寫的），對於註冊碼顯式存在的軟體破解起來比較容易；但是有些軟體的程式中並不會直接將我們輸入的註冊碼和正確的註冊碼進行比較，比如有可能將註冊碼換算成整數、或是將註冊碼拆開，然後將每一位註冊碼分開在不同的地方逐一進行比較，或者是將我們輸入的註冊碼進行某種變換，再用某個特殊的程式進行驗証等等。總之，應用程式會採取各種不同的複雜運算模式來迴避直接的註冊碼比較，對於這類程式，我們通常要下功夫去仔細跟蹤、分析每個程式功能，找到加密算法，然後才能破解它，當然這需要一定的8086彙編編程功底和很大的耐心與精力。
在這裡程式中的代碼位址如0167:00408033，其代碼段的值（即0167）有可能根據不同的電腦會有區別，不一定一模一樣，但偏移值應該是固定的（即00408033不變），所以如果看到破解文章裡的程式代碼的位址值和自己的電腦裡不一樣，不要以為搞錯地方了，只要你的程式代碼正確就不會有問題。
7. 關於如何設定斷點的問題︰正確恰當的設定好斷點對於快速有效的解密非常重要，好的斷點設定可以使我們迅速找到關鍵的程式段，而不恰當的斷點則會對解密造成不必要的精力消耗，甚至根本就不能攔截到程式的營運。但是具體什麼時候用什麼斷點比較合適很難說，這需要自己用經驗去累積，總的說來bpx hmemcpy這個萬能斷點對大多數註冊碼模式的軟體都有用，初學人不妨多試試這個斷點（通常我也是用這個斷點設定，懶嘛^_^，哈哈。。。）。對於那些需要暴力破解的非註冊碼模式的軟體，通常我們應該攔截對話框（如bpx DialogBox）和消息框（如bpx MessageBox(A)）等。不論對於哪一類軟體，當我們設定的斷點均沒有效果時，可是試一下bpx lockmytask，這個斷點的作用是攔截任何一個按鍵的動作，具體常用的一些斷點設定請參考"破解常用斷點設定"一文。另外，在註冊碼的破解中通常需要輸入用戶名和註冊碼，一般說來用戶名和密碼都可以隨意輸入，但是根據我自己的經驗，很多軟體對於註冊碼都會逐位的進行處理，假如輸入"78787878″這串數字，那麼在跟蹤程式的時候我們就無法知道我們當時所看到的"78″倒底是哪一個"78″，所以我比較喜歡用"12345678″這樣的註冊碼輸入模式，這樣的話就就能知道程式是在對註冊碼的哪一位進行運算，同樣的對於那些需要輸入較長序列號的軟體，輸入類似"12345-67890-ABCDEF"這樣的序列號較好。 不過有一點大家需要特別的注意︰上面講的註冊碼輸入模式"12345678″是針對攔截WIN32 API函數來說的，假如有些時候直接攔截WIN32 API函數難以找到程式的突破口，而要借助於"S"指令在內存中尋找我們輸入的用戶名或註冊碼時，就最好不要採用"12345678″作為註冊碼，因為內存中很可能有許多的"12345678″字元串，這樣我們沒有辦法知道倒底我們要破解的程式使用的是哪一個"12345678″，所以我們應該選擇一個不易和內存數據相同的註冊碼，比如︰74747474（本人喜歡用，意思嘛︰去死去死。。。哈哈哈^_^），對應的搜索指令為︰ S 30:0 L FFFFFFFF ‘74747474’ 。當然，以上只是我個人的習慣而已，具體用什麼樣的輸入形式可以根據本人的愛好、習慣來定，不必拘泥於某一固定的模式。