部分註冊演算法的原理是:軟體或者使用者自己觸發了軟體的註冊模組-》軟體跳轉到註冊認證模組。-》彈出註冊視窗-》使用者輸入註冊名+註冊碼A,把它們存放在記憶體中。然後軟體的註冊碼驗證部分根據使用者輸入的註冊名生成正確的註冊碼B並和使用者輸入的註冊碼A做對比。如果結果為相同則註冊透過,並執行“註冊成功”後面的程式分支,比如解除各種軟體限制。如果不相同則提示“無效的註冊碼,請重新輸入!”或者“Invalid key!”等等警告。
知道了原理,我們只要用SOFTICE和TRW2000等彙編除錯軟體去做軟體的動態反彙編。來找到軟體註冊部分的入口(這個過程就不細說了,有興趣去看看彙編除錯和軟體破解的資料)
破解:
這時候後如果我們在軟體的註冊失敗的那段程式碼前面加一個跳轉,說得容易理解一點就是:跳過軟體註冊碼驗證失敗後應該執行的分支,而將它轉到註冊成功的那個分支上。那麼這時候不管你輸入的註冊碼是對是錯,都會提示註冊成功。直接將它跳到註冊透過的那個程式分支上。這是一種破解方式。還有一種就是直接遮蔽註冊視窗,這個最簡單,在那段視窗程式碼前面加一個跳轉指令。這個適合於那種頻繁彈出註冊視窗但軟體功能並沒有限制的註冊軟體
註冊機:
透過反彙編和偵錯程式跟蹤來得到軟體的註冊碼驗證部分的彙編程式碼,然後根據它寫出來的逆向演算法生成的註冊程式。就是註冊機了
記憶體註冊機:
跟簡單了,因為經過上面的步驟,你已經知道的那個軟體的註冊演算法。知道它會在做註冊認證的時候將使用者輸入的註冊碼和正確的註冊碼做對比。把正確記憶體裡的註冊碼取出來就OK了。所以記憶體註冊機的使用方法都是:先開註冊機,用註冊機載入軟體。然後你隨便輸入一個註冊碼,按確定。軟體會提示註冊失敗,因為你的註冊碼是錯誤的。不過這個時候正確的註冊碼已經被記憶體註冊機擷取到了
部分註冊演算法的原理是:軟體或者使用者自己觸發了軟體的註冊模組-》軟體跳轉到註冊認證模組。-》彈出註冊視窗-》使用者輸入註冊名+註冊碼A,把它們存放在記憶體中。然後軟體的註冊碼驗證部分根據使用者輸入的註冊名生成正確的註冊碼B並和使用者輸入的註冊碼A做對比。如果結果為相同則註冊透過,並執行“註冊成功”後面的程式分支,比如解除各種軟體限制。如果不相同則提示“無效的註冊碼,請重新輸入!”或者“Invalid key!”等等警告。
知道了原理,我們只要用SOFTICE和TRW2000等彙編除錯軟體去做軟體的動態反彙編。來找到軟體註冊部分的入口(這個過程就不細說了,有興趣去看看彙編除錯和軟體破解的資料)
破解:
這時候後如果我們在軟體的註冊失敗的那段程式碼前面加一個跳轉,說得容易理解一點就是:跳過軟體註冊碼驗證失敗後應該執行的分支,而將它轉到註冊成功的那個分支上。那麼這時候不管你輸入的註冊碼是對是錯,都會提示註冊成功。直接將它跳到註冊透過的那個程式分支上。這是一種破解方式。還有一種就是直接遮蔽註冊視窗,這個最簡單,在那段視窗程式碼前面加一個跳轉指令。這個適合於那種頻繁彈出註冊視窗但軟體功能並沒有限制的註冊軟體
註冊機:
透過反彙編和偵錯程式跟蹤來得到軟體的註冊碼驗證部分的彙編程式碼,然後根據它寫出來的逆向演算法生成的註冊程式。就是註冊機了
記憶體註冊機:
跟簡單了,因為經過上面的步驟,你已經知道的那個軟體的註冊演算法。知道它會在做註冊認證的時候將使用者輸入的註冊碼和正確的註冊碼做對比。把正確記憶體裡的註冊碼取出來就OK了。所以記憶體註冊機的使用方法都是:先開註冊機,用註冊機載入軟體。然後你隨便輸入一個註冊碼,按確定。軟體會提示註冊失敗,因為你的註冊碼是錯誤的。不過這個時候正確的註冊碼已經被記憶體註冊機擷取到了