| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> vb >> VB加密 >> 文章正文
用VB“破解”有时间限制的程序            【字体:
用VB“破解”有时间限制的程序
作者:未知    文章来源:-    点击数:    更新时间:2006-8-8

用VB“破解”有时间限制的程序

张 胜
--------------------------------------------------------------------------------


你是否经常遇到有时间限制的程序?我等懒人尤其对此特别反感,可惜囊中羞涩,只好反复修改其系统日期而使自己多用几次此软件——实在是辛苦!于是使用“Anyday32”,可惜也太麻烦了;再后使用“时光倒流”,也不好用,而且——居然还有Bugs!......看样子只好自己动手做“VB软件DIY”了。
一、问题所在
有时间限制的程序大都是依靠在启动过程中检测系统日期,再与其记录的第一次使用日期(放于注册表或特殊文件中)进行对比检测是否试用期已到,若试用期已到,可能会在注册表中作一定的标记,使下次程序不可用。
二、解决问题
我们一般可以通过修改系统时间来使用此类程序,当然在其作过过期标志后可能此“大法”就无效了;也有一些程序的检测细化到了小时,那我们只能将时间也一块改了。
三、DIY中的思路及注意事项
我们可以在自己的程序中先修改系统日期,再启动相应的有时间限制的程序,过一段时间后再将系统日期改回来。
注意:在等待外部程序检测系统日期的等待过程中,系统日期已经改变,那么我们改回的系统日期将是错误的!因此我们要进行一定的检测,以防止此类错误的发生。
四、开始软件DIY
这里我们为方便控制,使用Access数据库进行软件编制。
数据库中表的设计:
字段名
类型
长度
备注

程序名称
Text
20
程序的标识,以便于管理

启动程序
Text
255
实际启动的程序

启动日期
Date/Time
8
应改回的系统日期


窗体及控件设计:  
名称
类型
设置

Form1
窗体
BorderStyle=1

Command1
command
Caption="执行(&R)"

Command2
command
Caption="退出(&Q)"

Check1   
CheckBox
Caption="启动程序后自动关闭本软件"

Timer1
Timer
Enabled=False;Interval=5000

Data1
Data
DatabaseName=数据库路径及名称

RecordSource=数据表名称

CommonDialog1
CommonDialog
Filter="请选择您想要启动的程序 (*.*)"

DBGrid1
DBGrid
AllowaddNew=True;AllowDelete=True;DataSource=Data1


CommonDialog和DBGrid控件需要另外加载,其中还需在DBGrid的属性页中进行一定的数据库挂接和设置,要在其属性页中“布局”中的第二列的“按钮”选中。
以下是本小软件的源代码:
Option Explicit
注释:启动外部应用程序的API函数定义
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Dim OldDate As Date 注释:保存系统日期

Private Sub Command1_Click()
If Not Data1.Recordset.EOF Then 注释:若数据库正在添加记录则不动作
Date = Data1.Recordset(2) 注释:改系统时间
Call ShellExecute(0, vbNullString, Data1.Recordset(1), vbNullString, vbNullString, vbOK) 注释:启动外部程序
Me.Enabled = False 注释:屏蔽其他操作
Timer1.Enabled = True 注释:启动延时记时器
End If
End Sub

Private Sub Command2_Click()
End 注释:关闭本系统

[1] [2] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 用VB编写DirectX7.0游戏(下…

  • 用VB编写DirectX7.0游戏(上…

  • 使用OLE DB和ADO调用返回记录…

  • 使用VB调用Oracle程序包内的…

  • VB中用ADO对象动态创建数据库…

  • fffff

  • 如何用MSComm Control传Bina…

  • MultiLink的WinSock Server程…

  • 用VB制作浏览器

  • 用VB编写网络寻呼机

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |