• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

用VB给商品软件加密的方法

发布: 2007-6-17 21:38 | 作者:   | 来源:   | 查看: 20次 | 进入软件测试论坛讨论

领测软件测试网

   
  用VB给商品软件加密的方法
重汽内饰件厂微机室
孔海菁

---- 近几年来,笔者参与了几个商品软件的开发设计,其中如何加密软件确是个值得研究的课题,而对于小软件来说,采用加密狗进行加密是很不经济的。为此,笔者想出一妙法,在程序里完成对软件加密,这样既方便又经济,现介绍如下,望能与大家一起分享。

---- 设计原理:

---- 软件加密的目的是为了防止盗用者拷贝软件,一般拷贝软件时,只会拷贝程序所在的目录的内容,根本不会想到其他目录里还会有与程序有关的文件,特别是文件放在WINDOWSSYSTEM目录里,更是无从下手。这样,我们设计了两个文件,一明一暗,明的放在程序所在的目录,命名为mscredit.ini,其内容为:

---- @-version=2.0-1999-copyright-@

---- 安装软件时,应先删除mscredit.ini左边的“@”,程序自动创建c:windowssystemdbcredit.ini文件,并在mscredit.ini里再写入左边的“@”符号,以后每次使用软件时,检查隐藏的c:windowssystemdbcredit.ini文件是否存在,只有此文件存在时软件才能正常运行。此设计关键在于,这一明一暗两个文件同时存在,程序才能正常运行。

---- 主程序

Private Sub Form_Load()
Dim kk, ms As String, vt As Integer
’若mscredit.ini因误操作删除,则软件不能正常运行
If Dir(App.Path & "mscredit.ini") = "" Then
   kk = MsgBox("本软件已不能正常运行,
请检查软件的合法性!", vbInformation, "    提示")
  Exit Sub
End If
’若mscredit.ini因误操作删除其内容,
则软件不能正常运行
Open App.Path & "mscredit.ini" For Input As #1
Input #1, ms
Close #1
ms = Trim(ms)
If ms = "" Then
   kk = MsgBox("本软件已不能正常运行,
请检查软件的合法性!", vbInformation, "提示")
   Exit Sub
End If
If Left(ms, 1) < > "@" Then
’安装使用本软件,自动创建dbcredit.ini文件,
并在mscredit.ini里写入“@”符号
   vt = write_sys_init("CopyRight", "Version", "2.0")
   Open App.Path & "mscredit.ini" For Output As #1
   ms = "@" & ms
   Print #1, ms
   Close #1
Else
’使用本软件,若dbcredit.ini因误操作
删除其内容,则软件不能正常运行
   If Dir("c:windowssystemdbcredit.ini") = "" Then
      kk = MsgBox("本软件已不能正常运行,
请检查软件的合法性!", vbInformation, "提示")
      On Error Resume Next
      Kill App.EXEName
      On Error GoTo 0
      Exit Sub
   End If
End If
End Sub

    调用函数
Public Function write_sys_init
(gs As String, ss As String, sval As String)
As Integer
Dim retv as String
write_sys_init = 0
On Error Resume Next
retv=OSWritePrivateProfileString
(gs,ss,sval,"c:windowssystemmscredit.ini")
If Err Then
   Err = 0
   write_sys_ini = -1
End If
On Error GoTo 0
End Function

---- 本程序在VB5.0、WIN95下调试通过。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网