VB程序加密的2種方法
發表時間:2024-02-18 來源:明輝站整理相關軟件相關文章人氣:
[摘要]廣西 謝興建 1.讓軟件只能在軟盤上運行 利用App對象的Path屬性返回可執行文件的路徑進行判斷。 Private Sub Form_Load() Dim a As String Dim b as String a=App.Path 獲得可執行文件的路徑 ...
廣西 謝興建
1.讓軟件只能在軟盤上運行
利用App對象的Path屬性返回可執行文件的路徑進行判斷。
Private Sub Form_Load()
Dim a As String
Dim b as String
a=App.Path 獲得可執行文件的路徑
b=Left(a,1) 取出第一個字符If b<>"A"
Then MsgBox "本軟件只能在軟盤運行!":End
End Sub
2.在Internet上放置你的密碼
哇,沒有搞錯吧,放在網上也叫密碼?沒錯!把密碼放到網上可能更安全些。Office2000還沒出來微軟就聲稱要讓用戶在網上注冊,以后還可能把office搬到網上實現真正的網上辦公。如果您制作的是網絡軟件,不妨干脆把密碼放到Internet上,這樣即使別人翻遍你的硬盤也一無所獲。
現在很多網站都提供免費個人主頁空間,這無疑為你存放密碼提供理想場所,你需要在網頁某處放置一文本,或者將網頁某處的文本當作密碼。這樣,只要能訪問到該網頁,就可以用關鍵字搜索到該段字符串。
假設你的主頁為www.home.com/mypage.htm在該頁上有一文本mypassword:1234其中“mypassword:”是關鍵字,“1234”是密碼。關鍵字與密碼相連,主要用于確定密碼的位置。注意關鍵字在網頁的唯一性,以免判斷密碼位置發生錯誤。
右鍵單擊工具欄,在彈出的菜單中選擇部件,在控件中選擇Microsoft Internet Transfer Control 6.0,單擊確定。雙擊工具箱中新出現的Inet圖標,在啟動窗體中加入Internet Transfer控件Inet1 。如果你是電話撥號上網,請使用該控件的缺省屬性;如果在Intranet上,可能需要提供代理服務器才能連接到Internet上,特別是有防火墻的Intranet,需將AccessType屬性設置為icNamedProxy(2),再加入代碼Inet1.Proxy="myProxyName"。
在程序中加入以下代碼:
Private Sub Form1_Load()
Dim lo As Variant
Dim text As String
Dim p1 As Long
Dim p2 As Long
Dim p As String
Dim website As String
website="http://www.home.com/mypage.htm"
Open ("c:\password.txt") For Output As #1 建立文本文件放置HTML文檔
Write #1,Inet1.OpenURL(website) 調用OpenURL方法返回指定的HTML文檔,在打開的文件里寫入該文檔的源代碼,如果檢測到未與網絡連接則自動彈出撥號連接窗口,連接后程序才繼續運行。
Close #1
Open "c:\password.txt" For Binary As #2
打開文件準備查找關鍵字
lo=LOF(2) 獲取password.txt的大小
text=String(lo," ") 設定text的長度
Get #2,1,text 將整個文件讀入字符串變量
p1=InStr(1,text,"password:")
查找關鍵字password在文件中的位置
If p1=0 Then MsgBox "該文件未存放密碼":End
找不到關鍵字則函數返回0值
p2=p1+Len("password") 計算密碼的位置
p=Mid(text,p2,4)
取出4位數的密碼,注意p2須定義為Long
Close #2
Kill("c:\password.txt")
密碼已取出,刪除臨時文件
a=InputBox("請輸入密碼")
If a<>p Then MsgBox "密碼錯誤":End
End Sub
注意如果聯系不到服務器或找不到指定的HTML文檔,不會發生錯誤,而會返回一些代碼,不同的服務器返回的代碼可能不同。