


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、前很多軟件干脆就把軟件密碼保存在自己的ini文件中。VB只要利用API的GetPrivateProfileString和WritePrivateProfileString兩個(gè)函數(shù)就可以很方便地讀寫ini文件,從而可以保存、讀出和驗(yàn)證密碼。首先認(rèn)識(shí)一下ini文件。 ini文件的形式為: section1 keyword1=value1 keyword2=value2 section2 keyword1=value1 keyword2=value2 section是段名,keyword是關(guān)鍵字名,value為關(guān)鍵字對應(yīng)的設(shè)定值 首先用WritePrivateProfileSection創(chuàng)建新的段名
2、和關(guān)鍵字名: Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String,ByVal lpString As String, ByVal lpFileName As String As Long Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePriva
3、teProfileStringA" (ByVal lpApplicationName As String,ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String As Long A=WritePrivateProfileSection ("user","password","c:windowsuser.ini" 在windows目錄下的user.ini文件中創(chuàng)建新段名user及該段名下的關(guān)鍵字password,如果目錄下沒有user.
4、ini文件,則創(chuàng)建該文件 B=WritePrivateProfileString ("user","password","1234","c:windowsuser.ini",設(shè)定關(guān)鍵字user的值為1234。這樣在你的user.ini文件就會(huì)多出一段: user password=1234 利用GetPrivateProfileString函數(shù)可以讀出password的值: Declare Function GetPrivateProfileString Lib "kernel32" Alias
5、 "GetPrivateProfileStringA" (ByVal lpApplicationName As String,ByVal lpKeyName As Any,ByVal lpDefault As String,ByVal lpReturnedString As String,ByVal nSize As Long,ByVal lpFileName As String As Long Dim key as String255 c=GetPrivateProfileString("user","password","
6、;false",key,255,"c:windowsuser.ini" If key="false" then MsgBox"文件不存在或沒有該字段" Else: Form1.Print"The password is "key 該函數(shù)將文件user.ini中password的值(即你設(shè)定的密碼)賦予key,若發(fā)生錯(cuò)誤(文件不存在或沒有該段名)則key的值為“false”,注意一定要聲明變量key的長度并與函數(shù)中的值一致。這樣你就可以將key與登錄密碼進(jìn)行對照或直接處理key的值來決定是否繼續(xù)運(yùn)行程序。
7、使用ini文件存儲(chǔ)密碼還有一個(gè)好處,就是設(shè)計(jì)者可以建立幾個(gè)段名來存儲(chǔ)不同的密碼,從而可實(shí)現(xiàn)多用戶登錄。 5.在注冊表中標(biāo)記密碼可能是保護(hù)你的勞動(dòng)成果的最高境界了。主要方法是在注冊表中創(chuàng)建一個(gè)鍵名,在鍵值里存放你的密碼,以后運(yùn)行時(shí)則取出該數(shù)據(jù)進(jìn)行驗(yàn)證或處理,當(dāng)滿足條件時(shí)終止程序??梢哉J(rèn)為注冊表是"以亂取勝",只要你選擇到一個(gè)隱蔽的位置做標(biāo)記或存放數(shù)據(jù),不用做任何加密算法的處理都應(yīng)該是比較安 全的。令人驚喜的是VB很容易利用API操作注冊表。這里只簡單介紹幾個(gè)API函數(shù),大家只要參照函數(shù)說明,正確引用變量傳遞數(shù)據(jù),不需要任何技巧就可操作注冊表。 RegCreateKeyEx:創(chuàng)
8、建關(guān)鍵字,如果關(guān)鍵字已存在,則將只簡單地將它打開 RegOpenKey:用于打開某鍵 RegSetValueEx:打開某鍵后,用于設(shè)置其鍵值 RegQueryValueEx:查詢一個(gè)存在的值,如果此函數(shù)調(diào)用成功,會(huì)返回ERROR_SUCCESS標(biāo)志 制作限時(shí)版只要會(huì)用幾個(gè)函數(shù)如day、month、year、date就行了。例如到了2001年就不能執(zhí)行程序: a=Year(Date if a>=2001 then MsgBox"對不起,該軟件已過期":End 你還可以用前面的方法使條件滿足時(shí)在硬盤上作個(gè)標(biāo)記,而用戶通過修改系統(tǒng)時(shí)間、重新安裝也不能再使用軟件。 怎么樣?學(xué)
9、會(huì)了對硬盤的簡單讀寫操作,這些東東一點(diǎn)也不神秘了吧!雖然不是很高明,但很多軟件都確實(shí)使用這種方法進(jìn)行簡單加密;隨著解密手段越來越高明,單一加密方法已成為過去,一些軟件同時(shí)在ini文件和注冊表等地方做標(biāo)記,當(dāng)然不是簡單的把你輸入的保存起來,win9x撥號(hào)上網(wǎng)時(shí)如果選擇保存密碼也會(huì)在硬盤上生成user.pwl文件,不過該文件加了密,強(qiáng)行用文本編輯器打開時(shí)只會(huì)看到些亂碼。哈哈,又心癢癢想學(xué)其他招數(shù)了吧! * 讓軟件只能在軟盤上運(yùn)行 利用App對象的Path屬性返回可執(zhí)行文件的路徑進(jìn)行判斷。 Private Sub Form_Load( Dim a As String Dim b as String
10、a=App.Path 獲得可執(zhí)行文件的路徑 b=Left(a,1 取出第一個(gè)字符If b<>"A" Then MsgBox "本軟件只能在軟盤運(yùn)行!":End End Sub * 這種加密的原理是:程序運(yùn)行時(shí)在預(yù)定的路徑下尋找特定的文件,如果沒找到讓程序中止運(yùn)行。這種加密一般要配合安裝程序進(jìn)行,在軟件的安裝過程中埋設(shè)這一特定文件(特定文件內(nèi)容隨意),這樣,沒有軟件安裝程序的用戶直接用拷貝的方法得到你的軟件將不能運(yùn)行。這里給出的示例用到的特定文件為 winu.ocx 埋設(shè)在 windows 的系統(tǒng)目錄下。 本示例在VB60中調(diào)試通過。 '
11、;首先在啟動(dòng)窗體加入API私有聲明GetSystemDirectory, Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long As Long Private Sub Form_Load( Dim a, b As Integer Dim SysDIR As String * 100 Dim SYSDIR1 As String Form1.Show '得到windows系統(tǒng)目錄SYSDIR1 a = GetSystemDirectory(SysDIR, 100 SysDIR = Left(SysDIR, a a = Len(SysDIR b = 1 Do While b <= a If Mid(SysDIR, b, 1 = " " Then Ex it Do b = b + 1 Loop SYSDIR1 = Mid(SysDIR, 1,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境監(jiān)測儀表類型及應(yīng)用考核試卷
- 封裝材料特性考核試卷
- 派遣服務(wù)市場競爭力提升路徑考核試卷
- 兒童性教育科學(xué)引導(dǎo)體系
- 婚內(nèi)協(xié)議書范本
- 植物藍(lán)染活動(dòng)方案
- 樓梯裝飾全年活動(dòng)方案
- 油田職工比賽活動(dòng)方案
- 油茶培訓(xùn)活動(dòng)方案
- 河南廢氣處理活動(dòng)方案
- 吊裝施工安全協(xié)議書范本
- 2015海灣消防JB-QB-GST200 火災(zāi)報(bào)警控制器(聯(lián)動(dòng)型)安裝使用說明書
- 中國各省區(qū)地圖、基本資料
- 2025年廣州市荔灣區(qū)招考社區(qū)居委會(huì)專職工作人員招考高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年全國普通話水平測試題標(biāo)準(zhǔn)試卷(共三十五套)
- 2025年全國保密知識(shí)競賽經(jīng)典試題庫及答案(共270題)
- 2024年工廠車間主管年終總結(jié)
- 2025年中醫(yī)治未病服務(wù)工作計(jì)劃及措施
- 資金入股公司合同范例
- 出國境保密培訓(xùn)
- 使用錯(cuò)誤評估報(bào)告(可用性工程)模版
評論
0/150
提交評論