给VB程序加密(4)
发布时间:2021-06-06
发布时间:2021-06-06
给VB程序加密
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
**************************************************************************************
这种加密的原理是:程序运行时在预定的路径下寻找特定的文件,如果没找到让程序中止运行。这种加密一般要配合安装程序进行,在软件的安装过程中埋设这一特定文件(特定文件内容随意),这样,没有软件安装程序的用户直接用拷贝的方法得到你的软件将不能运行。这里给出的示例用到的特定文件为 winu.ocx 埋设在 windows 的系统目录下。
本示例在VB60中调试通过。
'首先在启动窗体加入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系统目录SYSDIR1
a = GetSystemDirectory(SysDIR, 100)
SysDIR = Left(SysDIR, a)
a = Len(SysDIR)
b = 1
Do While b <= a
If Mid(SysDIR, b, 1) = " " Then Exit Do
b = b + 1
Loop
SYSDIR1 = Mid(SysDIR, 1, b - 1)
'检测特定文件是否存在
If Dir$(SYSDIR1 + "\WINU.OCX") = "" Then
a = MsgBox("无法验证你的合法使用" + Chr(13) + "请用安装程序重新安装", 0 + 48 + 0 + 0)
End
End If
End Sub------------------------------------------------------