Presentation is loading. Please wait.

Presentation is loading. Please wait.

軟體保護技術及其弱點 序列號保護與弱點. 組員名單 資訊三乙 D9363212 吳俊緯 資訊三乙 D9363212 吳俊緯 資訊三乙 D9363077 陳品端 資訊三乙 D9363077 陳品端.

Similar presentations


Presentation on theme: "軟體保護技術及其弱點 序列號保護與弱點. 組員名單 資訊三乙 D9363212 吳俊緯 資訊三乙 D9363212 吳俊緯 資訊三乙 D9363077 陳品端 資訊三乙 D9363077 陳品端."— Presentation transcript:

1 軟體保護技術及其弱點 序列號保護與弱點

2 組員名單 資訊三乙 D9363212 吳俊緯 資訊三乙 D9363212 吳俊緯 資訊三乙 D9363077 陳品端 資訊三乙 D9363077 陳品端

3 大綱 什麼是序列號? 什麼是序列號? 保護機制 保護機制 序列號的弱點 序列號的弱點 跟蹤註冊碼之後的判斷 跟蹤註冊碼之後的判斷 利用訊息中斷點 利用訊息中斷點 API簡介 API簡介

4 什麼是序列號 ? 序列號,也就是所謂的註冊碼。註冊時必須需入各種資料, 軟體公司在根據用戶的資料寫一個計算程式,算出一個序 列號,再傳送給用戶,用戶按照步驟輸入資訊及註冊碼以 後,軟體驗證通過,成為正式版。 序列號,也就是所謂的註冊碼。註冊時必須需入各種資料, 軟體公司在根據用戶的資料寫一個計算程式,算出一個序 列號,再傳送給用戶,用戶按照步驟輸入資訊及註冊碼以 後,軟體驗證通過,成為正式版。 軟體在每次的啟動時,讀取註冊碼資訊檢查,正確就成為 正式版,否則會有一些限制出現,網際網路上有80%的 軟體都是用這種方式保護。 軟體在每次的啟動時,讀取註冊碼資訊檢查,正確就成為 正式版,否則會有一些限制出現,網際網路上有80%的 軟體都是用這種方式保護。

5 保護機制 四種檢查註冊碼的基本方法 四種檢查註冊碼的基本方法 以用戶名作為引數,透過函數 F 便會得到註冊碼。 以用戶名作為引數,透過函數 F 便會得到註冊碼。 序列號=F ( 用戶名 ) 序列號=F ( 用戶名 ) 透過註冊碼驗證用戶名的正確性。 透過註冊碼驗證用戶名的正確性。 用戶名=F ” ( 序列號 ) #F ” 為反函數 用戶名=F ” ( 序列號 ) #F ” 為反函數 透過對等函數檢查註冊碼。 透過對等函數檢查註冊碼。 F 1( 用戶名 ) =F 2( 序列號 ) F 1( 用戶名 ) =F 2( 序列號 ) 同時採用用戶名和序列號作為引數,即採用二元函數。 同時採用用戶名和序列號作為引數,即採用二元函數。 特定值=F 3( 用戶名, 序列號 ) 特定值=F 3( 用戶名, 序列號 )

6 序列號弱點 透過跟蹤輸入註冊碼之後的判斷,從而找到註冊碼。 透過跟蹤輸入註冊碼之後的判斷,從而找到註冊碼。 跟蹤程式啟動時對註冊碼的判斷。 跟蹤程式啟動時對註冊碼的判斷。

7 跟蹤註冊碼之後判斷 一般都是在一個文字方塊中輸入註冊碼,軟體需要呼叫一 些標準的 API 將文字方塊中輸入的註冊碼字串拷貝到自己 的緩衝區。 一般都是在一個文字方塊中輸入註冊碼,軟體需要呼叫一 些標準的 API 將文字方塊中輸入的註冊碼字串拷貝到自己 的緩衝區。 利用調試器提供的針對 API ,就有可能找到相對 API 利用調試器提供的針對 API ,就有可能找到相對 API 調試器 : 調試器可以讓你看到每一步程序執行。 調試會讓 你停止程序,同時正在運行,轉換程式或程式變數開始程 序運行 調試器 : 調試器可以讓你看到每一步程序執行。 調試會讓 你停止程序,同時正在運行,轉換程式或程式變數開始程 序運行

8 利用訊息中斷點 處理字串可以利用訊息中斷點 WM_GETTEXT 和 WM_COMMAND 。 處理字串可以利用訊息中斷點 WM_GETTEXT 和 WM_COMMAND 。 前者用來讀取某個控制項中的文字,後者用來通知某個控 制項的視窗。 前者用來讀取某個控制項中的文字,後者用來通知某個控 制項的視窗。

9 API 簡介 API:Application Programming Interface (應用程式設計介 面) API:Application Programming Interface (應用程式設計介 面) API 函數提供應用程式運行所需要的視窗管理,圖形設備 介面,記憶體管理等。 API 函數提供應用程式運行所需要的視窗管理,圖形設備 介面,記憶體管理等。

10 如何用 API 判斷註冊碼 I 利用調試器提供的針對 API 設中斷點功能,就有可能找到 判斷註冊碼的地方。這些 API 函數通常包含 : 利用調試器提供的針對 API 設中斷點功能,就有可能找到 判斷註冊碼的地方。這些 API 函數通常包含 : GetWindowTextA GetWindowTextA GetDlgItemTextA GetDlgItemTextA GetDlgItemInt GetDlgItemInt Hmemcpy Hmemcpy

11 如何運用 API 判斷 II 程式判斷完註冊碼之後,一般會顯示一個對話方塊,告知 用戶是否正確。而常用的對話方塊的 API 含數包含 : 程式判斷完註冊碼之後,一般會顯示一個對話方塊,告知 用戶是否正確。而常用的對話方塊的 API 含數包含 : MessageBoxEx DialogBoxParam MessageBoxEx DialogBoxParam DialogBoxIndirectParam DialogBoxIndirectParam CreateDialogParam CreaateDialogIndirectParam CreateDialogParam CreaateDialogIndirectParam MessageBoxIndirect MessageBoxIndirect MessageBox ShowWindow MessageBox ShowWindow

12 參考書籍 加密與解密 作者:看雪 加密與解密 作者:看雪


Download ppt "軟體保護技術及其弱點 序列號保護與弱點. 組員名單 資訊三乙 D9363212 吳俊緯 資訊三乙 D9363212 吳俊緯 資訊三乙 D9363077 陳品端 資訊三乙 D9363077 陳品端."

Similar presentations


Ads by Google