再谈VB程序的加密
2006-02-27 11:39:53 来源:WEB开发网1.让软件只能在软盘上运行
利用App对象的Path属性返回可执行文件的路径进行判断。
PRivateSubForm_Load()
DimaAsString
DimbasString
a=App.Path获得可执行文件的路径
b=Left(a,1)取出第一个字符Ifb<>"A"
ThenMsgBox"本软件只能在软盘运行!":End
EndSub
2.在Internet上放置你的密码
哇,没有搞错吧,放在网上也叫密码?没错!把密码放到网上可能更安全些。Office2000还没出来微软就声称要让用户在网上注册,以后还可能把office搬到网上实现真正的网上办公。如果您制作的是网络软件,不妨干脆把密码放到Internet上,这样即使别人翻遍你的硬盘也一无所获。
现在很多网站都提供免费个人主页空间,这无疑为你存放密码提供理想场所,你需要在网页某处放置一文本,或者将网页某处的文本当作密码。这样,只要能访问到该网页,就可以用关键字搜索到该段字符串。
假设你的主页为
右键单击工具栏,在弹出的菜单中选择部件,在控件中选择MicrosoftInternetTransferControl6.0,单击确定。双击工具箱中新出现的Inet图标,在启动窗体中加入InternetTransfer控件Inet1。如果你是电话拨号上网,请使用该控件的缺省属性;如果在Intranet上,可能需要提供代理服务器才能连接到Internet上,特别是有防火墙的Intranet,需将accessType属性设置为icNamedProxy(2),再加入代码Inet1.Proxy="myProxyName"。
在程序中加入以下代码:
PrivateSubForm1_Load()
DimloAsVariant
DimtextAsString
Dimp1AsLong
Dimp2AsLong
DimpAsString
DimwebsiteAsString
website="
Open("c:\password.txt")ForOutputAs#1建立文本文件放置HTML文档
Write#1,Inet1.OpenURL(website)调用OpenURL方法返回指定的HTML文档,在打开的文件里写入该文档的源代码,如果检测到未与网络连接则自动弹出拨号连接窗口,连接后程序才继续运行。
Close#1
Open"c:\password.txt"ForBinaryAs#2
打开文件准备查找关键字
lo=LOF(2)获取password.txt的大小
text=String(lo,"")设定text的长度
Get#2,1,text将整个文件读入字符串变量
p1=InStr(1,text,"password:")
查找关键字password在文件中的位置
Ifp1=0ThenMsgBox"该文件未存放密码":End
找不到关键字则函数返回0值
p2=p1+Len("password")计算密码的位置
p=Mid(text,p2,4)
取出4位数的密码,注意p2须定义为Long
Close#2
Kill("c:\password.txt")
密码已取出,删除临时文件
a=InputBox("请输入密码")
Ifa<>pThenMsgBox"密码错误":End
EndSub
注意如果联系不到服务器或找不到指定的HTML文档,不会发生错误,而会返回一些代码,不同的服务器返回的代码可能不同。
->更多精彩
赞助商链接