自從電子遊戲普及以來,盜版遊戲就與正版遊戲形影不離,那麼你知道盜版遊戲的原理是什麼嗎?
據外媒scienceabc介紹,所有的破解方法,基本上都是對遊戲進行“逆向工程”,即對遊戲進行逆向分析和研究。
針對遊戲的逆向工程會首先檢查“註冊系統”,並找到繞過它的方法。破解者往往會提供一個“補丁”,讓用户運行“被標識的漏洞”,從而繞過註冊表系統。
通常來説,對遊戲進行盜版有3種辦法:十六進制讀數(Hex-Reading)、十六進制編輯(Hex-Editing)和註冊機(Keygen)。
十六進制讀數是比較容易的一種方法,可以在簡單的遊戲中進行,適用於運行“序列號註冊”的單獨EXE文件。比如,當一個遊戲顯示“序列號輸入錯誤”後,十六進制讀數會搜索這句話,並找到一個可能是序列號的字符串(string)。
不過,許多公司已經找到了如何對付這種方法,所以它只對特定的遊戲有效。
十六進制編輯與十六進制讀數的原理類似,都是尋找註冊的位置。舉個例子,當你輸入錯誤序列號時,遊戲會顯示“註冊失敗”,這時反彙編器會理解遊戲代碼,並將輸入的序列號與預設值進行比較,並記錄偏移量。
最終,無論輸入什麼序列號,都會識別偏移量,從而破解遊戲。當然,也可以通過修改鏈接遊戲的.dll和.so文件來進行破解,這些文件保存了到期日期和註冊表。
最後一招是註冊機,其原理是驗證服務器端存儲的註冊碼是否與本機相匹配,然後模仿註冊碼生成算法,寫出一模一樣的註冊機。期間,必須先將遊戲脱殼,再反彙編或者用調試器跟蹤。
至今,開發商都很難防止遊戲被破解,雖然加密技術越來越好,但有越來越複雜的方法來進行破解。