给VB程序加密
VB的好处我就不多说了。VB初学者模仿能力很强,总希望自己的程序看起来专业一点,如用密码登录、制作限次版、限时版、强行启动等等,其实这些东西并不神秘,在VB里只要用少量代码就可实现。
1.最简单的可执行文件密码登录:
在程序启动时加入以下代码:
Private Sub Form_Load()
Dim a as Variant
a=InputBox("请输入密码!")
If a<>"****" Then MsgBox "密码错误,您不能使用本软件!": End 注释:****为预先设定的字符
End Sub
怎么样,能唬人吧。什么?太烂!
2.在硬盘上建立一个文件用于存放密码,这样就可以读写修改了
On Error GoTo sss
注释:若文件不存在,则捕获该错误,建立密码
Open ("c:\abc.abc") For Input As #1
注释:文件存在,则打开文件
Input #1,b 注释:将密码读入变量b
Close #1
a=InputBox("请输入密码!")
If a<>b Then MsgBox "密码错误,您不能使用本软件!":End
Exit Sub sss: a=InputBox("请建立密码!") Open("c:\abc.abc") For Output As #2 注释:在硬盘上建立存放密码的文件 Print #2,a
Close #2
MsgBox "建立密码成功!"
使用InputBox输入密码的缺点是密码被显示出来,大家可以另建一个窗体代替输入对话框,加入一TextBox并将其PasswordChar属性设为*就行了。文件abc.abc可用任何文本文件打开编辑,因此在你未学会加密算法之前可将文件命名为*.sys或*.dll,并放在windows或system目录下,甚至将其属性设为隐藏,哈哈,系统文件谁敢乱改!不过要小心不要覆盖真正的系统文件。
用启动登录的方法加密会令用户反感,最好只用在软件中较重要的修改数据部分或用于多用户登录。如果你想制作共享软件,那就先试试限次版吧。
3.软件限定使用次数说白了也是在硬盘中的某个地方作个标记,每启动一次就记数一次,当次数加到一定值时就不允许使用软件。以上代码稍加改动也能实现 :
Private Sub Form_Load()
On Error GoTo sss
注释:若文件不存在,则建立文件
Open("c:\abc.abc") For Input As #1
注释:文件存在,则打开文件
Input #1,b 注释:将数值读入变量b
Close #1