全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1207
推到 Plurk!
推到 Facebook!

用修改文件時間的方法來加密文件

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-28 05:07:44 IP:61.221.xxx.xxx 未訂閱
此為轉貼資料 用修改文件時間的方法來加密文件 [摘要]:本文介紹了在Delphi中利用系統函數和Windows API函數配合Delphi中的DataTimePicker元件來獲取和修改文件的時間資訊的方法,以達到軟體資訊的簡單加密。 談到文件加密已經有很多方法了,但傳統的文件型加密方法都存在一些不足。例如:讓人頭痛的密碼技術、複雜的全文加/解密演算法、會?生垃圾文件的暗貼技術等等。這裏我向大家介紹一種新的文件加密思路。在Win 95/98中選定一個文件後單激滑鼠右鍵可以查看文件的屬性。其中會列出該文件的創建時間、修改時間和訪問時間。這些資訊的設置一般都是由作業系統(也就是由Dos/Windows等等)自動完成的,不會讓用戶輕易修改。利用這一特性就可以實現很隱蔽的加密技術。 加密原理:用特定的時間資訊替換原來的文件時間資訊。 解密原理:獲取已加密文件的時間資訊與特定時間資訊比較,如相同則說明該文件是合法的,如不同則說明該文件屬於過期或盜版軟體。 以上簡單介紹了文件時間屬性的修改方法,利用這種方法可以起到簡單的軟體加密。例如:假設某個軟體或遊戲執行完後存儲了一些存檔文件,則作業系統會自動設置該文件的修改時間,那?稍有經驗的用戶就可以用Windows中的“查找文件”功能找到最後被修改的文件。如果該文件是記錄密碼或用戶資訊的文件(實際上很多情況都是這樣),後果簡直不堪設想。另外,如果適當設置文件的創建、修改時間和訪問時間,例如:保持三者之間?一定的時間間隔就可以作?加密的一種好手段。運行主軟體時只要動態的檢測一下文件時間是否滿足特定的要求就知道該軟體是否過期或屬於盜版軟體,從而達到加密和保護軟體的目的,並且不會?生垃圾文件。 以下介紹具體實現方法: 利用Delphi中的FindFirst函數可以得到一個文件的屬性記錄,該記錄中的FindData域中就記載了詳細的文件時間資訊。FindData中的時間資訊不能直接得到利用本文根源程式中的CovFileDate函數可以完成文件時間格式的轉換。設置文件的時間要複雜一些,利用Delphi中的DataTimePicker元件來輔助完成這一複雜的操作。可以利用四個DataTimePicker元件來完成文件創建時間和修改時間的設置。注意:文件的訪問時間用修改時間來代替。使用下面的例子時,請在您的Form上添加四個DataTimePicker元件。其中第一和第三個DataTimePicker元件中的Kind設置?dtkDate,第二個和第四個DataTimePicker元件中的Kind設置?dtkTime,DateMode設置?dmUpDown。 備註:修改文件時間的範圍是從西元1792年9月19日開始的,上限可以達到西元2999年或更高。另外,請不要將此技術用於破壞他人文件等非正當途徑。
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-04-29 0:30:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!