網路驗證軟體防破解思路?

Tags: 軟體, 網路, 思路,

經常大家辛辛苦苦寫個軟體,得到部分人的認同後,想回收點辛苦費,限制些功能,

主要的防破解方式也就加殼,但是別人的殼大部分都是公開的,高手早就有脫殼辦法

所以還是得自己考慮防破解方式

工具/原料

自己的驗證伺服器(資料庫伺服器等)

方法/步驟

破解方式主要是跳過驗證和欺騙驗證

跳過驗證:找到軟體的入口地址,也就是驗證通過以後執行的函式位置

欺騙驗證:另外構建(或虛擬)一個假的伺服器,當你軟體要通過網路驗證時,將地址轉到假伺服器,然後返回驗證通過的資訊

跳過驗證的防破解主要考慮軟體入口防護

防破解方式:

1、將軟體執行需要的資料加密後儲存在伺服器,驗證的同時獲取該資料

2、設定多個入口+隨機入口,入口引數從伺服器獲取

3、多次驗證,軟體執行過程中也可增加驗證

欺騙驗證的防破解主要考慮伺服器驗證後的返回資訊

一般網路遊戲會將封包加密,每次傳送加密封包(同樣的操作傳送不同的封包),然後在伺服器解密處理後返回加密的封包,達到防封包外掛的目的

借鑑一下,我們可以考慮每次驗證過程的加密,然後從伺服器獲取解密後的資訊

例如資料庫伺服器,建立解密對應表,軟體啟動後生成隨機祕鑰,每次驗證同上次驗證的祕鑰作對比,祕鑰相同則重新生成驗證祕鑰

還可以定期修改維護解密對應表,解密對應表越大越難破解

注意事項

防破解加殼只是一種比較通用的方法,自己增強驗證機制心中有數

相關問題答案