理解軟體保護技術之Key File保護

2021-04-13 04:25:17 字數 1852 閱讀 2872

key file(註冊檔案)是一種利用檔案來註冊軟體的保護方式。key file一般是乙個小檔案,可以是純文字檔案,也可以是包含不可顯示字元的二進位制檔案,其內容是一些加密過或未加密的資料,其中可能有使用者名稱、註冊碼等資訊。檔案格式則由軟體作者自己定義。試用版軟體沒有註冊檔案,當使用者向作者付費註冊之後,會收到作者寄來的註冊檔案,其中可能包含使用者的個人資訊。使用者只要將該檔案放入指定的目錄,就可以讓軟體成為正式版。該檔案一般是放在軟體的安裝目錄中或系統目錄下。軟體每次啟動時,從該檔案中讀取資料,然後利用某種演算法進行處理,根據處理的結果判斷是否為正確的註冊檔案,如果正確則以註冊版模式來執行。

(1)破解key file一般思路

1. 最好分析key file的工具是十六進製制工具,普通的文字編輯工具不太適合。

2. 對付這類程式,你首先建立一假的key file檔案。一般的軟體容許key file有不同的大小和檔名,你建立的檔案內容必須易讀,跟據情況調整key file的大小和檔名。為什麼要易讀呢?因為目標程式從key file中讀取資料,然後進行處理,易讀有利於你分析其運算過程。

3. key file檔案在大多數情況下,是以'*.key'形式存在的。

4. key file檔名可用w32da**或十六進製制工具開啟程式用查詢字串方式確定;

5. 讀使用者手冊(有時作者可能會提到);

6. 用filemon 這一工具,它能實時監視系統各檔案的狀態,因此執行程式時,如它去讀指定檔名的key file時,會在filemon顯示key file檔名。一但你發現key file檔名,就建立一假的key file到要被crack軟體目錄下,然後去crack。

(2)windows下破解key file幾個常用的函式:

函式readfile

作用:從檔案中讀出資料

引數:其中long,非零表示成功,零表示失敗。

函式createfilea

作用:可開啟和建立檔案、管道、郵槽、通訊服務、裝置以及控制台

handle createfilea(

lpctstr lpfilename, // string,要開啟的檔案的名字

dword dwdesiredaccess, // 允許對裝置進行讀寫訪問;

dword dwsharemode, // 共享模式

lpsecurity_attributes lpsecurityattributes// 指向乙個security_attributes結構的指標,定義了檔案的安全

特性(如果作業系統支援的)

dword dwcreationdistribution, // 如何建立檔案

dword dwflagsandattributes, // file attributes

handle htemplatefile //long,如果不為零,則指定乙個檔案控制代碼。新檔案將從這個檔案中複製 擴充套件屬性

);

函式_lopen( )

作用:以二進位制模式開啟指定的檔案

hfile _lopen(

lpcstr lppathname, // 欲開啟檔案的名字

int ireadwrite // 訪問模式和共享模式常數的乙個組合

);

函式findfirstfilea( )

作用:根據檔名查詢檔案

handle findfirstfile(

lpctstr lpfilename, // 欲搜尋的檔名。可包含萬用字元,並可包含乙個路徑或相對路徑名

lpwin32_find_data lpfindfiledata // win32_find_data,這個結構用於裝載與找到的檔案有關的資訊。該結構可用於後續的搜尋

);

軟信網-程式設計

當前流行的一些軟體保護技術

當前流行的一些軟體保護技術 1 序列號保護 數學演算法一項都是密碼加密的核心,但在一般的軟體加密中,它似乎並不太為人們關心,因為大多數時候軟體加密本身實現的都是一種程式設計的技巧。但近幾年來隨著序列號加密程式的普及,數學演算法在軟體加密中的比重似乎是越來越大了。軟體驗證序列號的合法性過程,其實就是驗...

Linux下基於簽名技術的軟體保護分析

根據我組成員 一夕思醉,2018 7 11 的熱烈討論,我們對該題目有了乙個大致的了解。題目要求 對於linux下給定的elf可執行程式 自行開發簽名工具對程式的 段 load segment 首先進行雜湊,然後對雜湊值進行簽名,簽名資料應作為單獨的節 section 附加到原elf可執行程式的尾部...

軟體保護之殺死Crack相關程序

軟體保護之殺死crack相關程序 屠恩海 sunhai 開發工具 microsoft visual studio net 2003 作業系統 windows xp 程式開發三個永恆的主題是 一.程式的功能及創意 二.程式的推廣 三.程式的保護 理論上說,不存在不能被crack的程式。所謂的防crac...