设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 3520|回复: 33
打印 上一主题 下一主题

时间限制,谁能破我的时间限制?有本事就来破破看!!!

[复制链接]
跳转到指定楼层
1#
发表于 2002-10-14 22:45:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
最新时间限制 2000版的,谁能破我的时间限制?有本事就来破破看!!!
文件下载

只有13k阿,不使用任何外部文件,不修改丁点注册表,所有的注册信息全部存储在数据库里面,就看你有否本事破掉它了!!!

破掉的朋友发mail给我啊!!! cg1sh@hotmail.com
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
34#
发表于 2002-10-16 17:46:00 | 只看该作者


  一般这类保护的软件都有时间上的限制,如试用30天等,当过了共享软件的试用期后,就不予运行,只有向软件作者付费注册之后才能得到一个无时间限制的注册版本。

  这种类型程序很多,让你有10天、20天、30天等,它们在安装时,在你的系统某处做上时间标记,每次运行时用当前系统时间和安装时的时间比较,判断你还否能使用。
  如最典型的30天限制的一种情况:
  mov ecx,1E ; 把1E (30天 十进制) 放入 ecx
  mov eax,[esp+10] ; 把用过天数放到eax
  cmp eax,ecx ; 在此比较
  jl ...
  如碰到这种情况,只需把"mov eax,[esp+10]"改成"mov eax,1" 。

  要记住当前年份、月份的十六进制的一些表示方法,如:2000年的十六进制是07D0,然后用W32DASM反汇编你的程序,用查找字符串的方法找D007(在机器码中位置颠倒了一下)或其它类似时间的数字,有可能会找到有价值的线索。你别小看这种方法,对那些没怎么防范的程序,此招很有效。
  如:一程序限定在2000年使用,可能有如下一代码:
  :00037805 817C2404D0070000 cmp dword ptr [esp+04], 000007D0 比较是否在2000年。

只要通过时间限制就可以使用软件了!
33#
发表于 2002-10-15 20:53:00 | 只看该作者

用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 '关闭本系统
End Sub

Private Sub DBGrid1_BeforeUpdate(Cancel As Integer)
If MsgBox("记录改变吗?", vbYesNo + vbQuestion) <> vbYes Then Cancel = True '是否更新数据库控制
End Sub

Private Sub DBGrid1_ButtonClick(ByVal ColIndex As Integer)
On Error GoTo errdeal '打开错误监测
CommonDialog1.CancelError = True '系统对话框错误控制
CommonDialog1.ShowOpen '打开系统对话框
If CommonDialog1.filename <> "" Then DBGrid1.Text = CommonDialog1.filename '写入要启动的程序信息
errdeal:
End Sub

Private Sub Form_Load()
OldDate = Date '保存系统时间
Call Parameter '获取系统启动时的参数
End Sub

Private Sub Timer1_Timer()’五秒钟后恢复
If Format(Time, "HH:MM:SS") < "00:00:05" Then OldDate = OldDate + 1 '防止在接近零时时的日期恢复错误
Date = OldDate '恢复系统时间
Me.Enabled = True '恢复正常操作
Timer1.Enabled = False '屏蔽延时记时器
If Check1.Value = 1 Then End '是否关闭本系统
End Sub

Private Sub Parameter() '系统参数处理
If Command <> "" Then
'查找相应的启动程序
Data1.RecordSource = "Select * From [StartProgram] Where [程序名称]='" & Trim(Command) & "'"
Data1.Refresh
If Not (Data1.Recordset.EOF And Data1.Recordset.BOF) Then
Me.Hide '隐藏本系统
Check1.Value = 1 '设置关闭标志
Command1_Click '激活本系统的执行事件
Else
'未找到处理
MsgBox "没有此启动程序!", 16, Me.Caption '错误提示
End '关闭
End If
End If
End Sub
五、小 结
本小软件可启动多个有时间限制的程序,也可以通过命令参数(格式是:本程序名 要启动的程序名称)一次启动一个程序,可用
32#
发表于 2002-10-15 20:39:00 | 只看该作者
关于加密请看我的
IBM的MARS加密算法实现(1)
出处:PConline
责任编辑:zwg

[02-8-12 18:34]  作者:吴真  
   
内容搜索 
   
  高级搜索      


  
   
作者:吴真
转载请与作者联系

一、背景知识

1977年颁布的数据加密标准DES算法。其56位长的密码空间在芯片技术和计算技术高速发展的今天,越来越不适应安全需求。1997年9月美国国家标准技术研究所(NIST)提出了征求新的加密标准---AES (Advanced Encryption Standard)的建议,作为一种取代DES的二十世纪加密标准技术。其目标是:(1)执行速度快;(2)易于设计;(3)从大型计算机到智能IC卡(CPU卡)都可实现。1998年8月第一次AES会议(AES1)上,宣布了来自12个国家的15种候选AES算法。于1999年8月第二次AES会议(ARD2)上,从中筛选出5个候选算法:

Algorithm Author(s)
(1) MARS IBM (US)
(2) RC6 RSA Laboratories(US)
(3) Rijndael John Danemen,Vincent Rijmen(Belgium)
(4) Serpent Ross Anderson(UK),Eli Bihan(Israel),Lars Knudsen(Nornay)
(5) Twofish Bruce Schneier,John Kelsey,Doug Whiting,David Wagner,Chris Hall,Nids Ferguson

经过大量的分析及评估后,NIST队伍最终选择了Rijndael。这是在考虑安全,性能,效率,易用和灵活等诸多方面做的一种权衡选择,正如NIST在其报告中称:"所有这五种算法对AES都很安全".本文将介绍一下由IBM公司提出的MARS算法的原理和部分笔者编写的算法实现代码.



31#
发表于 2002-10-15 20:38:00 | 只看该作者
知道不少了!!你试着生成c或vb文件就可以了!!
30#
 楼主| 发表于 2002-10-15 20:33:00 | 只看该作者
FCOM QWORD PTR [BP+06FE]              实数比较前面一个到后面一个,并设置标志位
RCL BYTE PTR [BP+C3F8],CL             带进位循环左移CL次
MOV BX,[9913]                         传送后面一个到前面一个
CALL 00C8                             调用地址 00C8
CALL 0120                             调用地址 0120
MOV WORD PTR [96DC],0034              传送后面一个到前面一个

我就知道这点,其他的就不清楚了
MOV SP,BA0A
29#
发表于 2002-10-15 20:28:00 | 只看该作者
哈哈哈!!真是知己!

好了各位!到灌水区讨论吧!!那里说什么都可以!!
现在大家有些跑题!!

[em03]
[此贴子已经被WTM1于2002-10-15 12:27:35编辑过]

28#
发表于 2002-10-15 20:13:00 | 只看该作者
我一般都是這樣的啦,也KILL掉密碼判別部份(這種針對動態生成新密碼判別的程式),或者直接找到原密碼(這種針對把密碼寫進程式中的程序),我個人推薦的是找到原密碼,然後公布,盡可能少的修改原程式流程(因為這樣不會對原程式有絲毫影響)
對於用日期和限制的程式,其實什麼也不用要,只要到網上找些用來控制時間的小程序即可,
這類程式往往是一個時間機器外殼,然後把用它啟動的程式運行在自已的外殼內,這樣您就永遠不會過期啦。(簡單吧,看破不要說破,說破就沒意思啦!)
27#
发表于 2002-10-15 20:07:00 | 只看该作者
看不明白,插不上嘴,HG和WTM能不能给我们上一课呀?


[此贴子已经被huanghai于2002-10-15 12:06:40编辑过]

26#
发表于 2002-10-15 18:10:00 | 只看该作者
HG:
果然厉害!!不错,使用DEBUG 没有必要破解密码,只要实用

         FCOM    QWORD PTR [BP+06FE]
RCL     BYTE PTR [BP+C3F8],CL
MOV     BX,[9913]
CALL    00C8
CALL    0120
MOV     WORD PTR [96DC],0034
MOV     SP,BA0A
或JMP 跳跃指令,就可以了!

使用指令跟踪对程序每一条进行跟踪,根据文件字节计算出开始地址与终止地址!

ACCESS使用时调用24/21/08/10/51
中断,密码一般占用21/24中断!
时钟占用10/08中断!
这样屏蔽或跳过中断就可以了!或反汇编显示内容跳过密码检索认证指令,就可以了!

我不想看源代码!只是破解这个程序!!


使用
-R CX,****
-N 文件名
-W *****
-Q
就可以实现对程序的写入!!

00 0D 2E 4D 44 45 0D 4E-4E 54 5C 73 79 73 74 65   ...MDE.NNT\syste
6D 33 32 5C 64 6F 73 78-0D 0D 6F 72 20 28 6C 6F   m32\dosx..or (lo
61 64 20 62 65 66 6F 72-65 20 64 6F 73 78 2E 65   ad before dosx.e
78 65 29 0D 69 6F 6E 27-73 20 50 49 46 2E 0D 73   xe).ion's PIF..s
这一点都不难!!或使用专用解壳工具解开後重新生成EXE就可以了!!

我是用开发版生成EXE文件,再用DEBUG 执行跳过及反汇编,通过反汇编转向工具生成C数据![记住:所有计算机程序都必须解释、汇编、生成机器码才可以被机器执行,同时可以进行反向变成!]
後半部我没做!!

这样太复杂了!!
hg :有简单的方法嘛!?







您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 20:35 , Processed in 0.129097 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表