!!!!!!!!!!!!关于限制软件试用时间的问题!DFW帮忙拉! ( 积分: 100 )

E

emma103

Unregistered / Unconfirmed
GUEST, unregistred user!
发布软件试用版本,要求30天试用期,超过30天,软件不能再使用。
要求:
1,修改系统时间无效,既,一旦发现用户通过修改时间来延长软件应用时间,提示错误或者软件停止试用。
2,不可二次安装,或二次安装任然无效,既提示过期。
3,最好重装系统也无效。
我大富翁检索不了,也不知道以前有没有类似的帖子。
这里请求各位达人帮帮我,这个非常着急!万分感激!
 
用穿山甲加壳工具吧
 
能否通过获得主板ID和bios时间来限制啊,我这方面不了解,
 
重装系统也无效可能就要往秘密磁盘扇区或者BIOS中写东东了[:)]
 
我用开发的软件加密SDK可以做到,不过是有偿的 :)
 
要是能读到电脑的出厂日期就好办了,直接和出厂日期对比就知道过没过期了。
 
主板BIOS出厂日期倒是可以读到,但一样可以改.
更重要的是,怎么去读?如果用系统提供的API,稍微 Hook 一下,就行了。
 
我在网上看到这样一篇文章:

用Delphi调用Bios的信息
添加一个Tbutton和一个Tmemo组件到窗体并写如下代码到按钮的OnClick事件:
with Memo1.Linesdo

begin

Add('MainBoardBiosName:'+^I+string(Pchar(Ptr($FE061))));
Add('MainBoardBiosCopyRight:'+^I+string(Pchar(Ptr($FE091))));
Add('MainBoardBiosDate:'+^I+string(Pchar(Ptr($FFFF5))));
Add('MainBoardBiosSerialNo:'+^I+string(Pchar(Ptr($FEC71))));
end;

以上代码在Win9X上运行通过。』

但是调试不通过,
project.exe raised exception class EAccessViolation with message
'Access violation at address 004043DF in module 'Project.exe'.Read of address 000FE061'
 
win nt 内核不允许直接读取端口
 
win nt 内核不允许直接读取端口
那样怎样做呢?
=========
楼主的问题
如果重做也不可以的话 那就麻烦了.
其他的应该不难. 但还是可以被破解的.
限制时间这东西,就算软件不被破解,也肯定可以找到重新开始计时的方法的
 
要读取必须使用驱动。
如果使用我得开发包,无需使用额外代码就可以加密,
在指定程序区使用特定标示,未解密前程序代码是加密的,
所以就算找到重新计算的方法,功能也不全。
 
请问DFW们怎么用delphi获得主板的序列号?操作系统是xp。
 
如果你是网络应用程序,只要把限制日期写死在代码中,然后判断服务器日期就可以了。
 
因为程序是工业使用,不能保证客户都是连接互联网的,所以不能做成取服务器时间这种方法。
 
如果真的想得到一个可靠的保护,那就联系我.
msn kryso@ff18.com
 
我们公司有一个外壳加密的工具,但是因为程序经常要发往国外,所以如果可以用编程的方式解决就可以直接email给客户,否则得邮寄加密构,非常不方便,,,
我想大家都能理解
 
请问 白河愁
你用的是什么方法做得保护,我知道开发一个东西不容易,我也不是说不愿意花钱去做这个,但是首先我想知道你是走得什么途径,是否适用与我公司现在得情况,谢谢
 
SDK 配合 SHELL,是肯定的了.
关键是看这个 SHELL 有多少强度,加密狗用得得当自然是更安全.
我的就是 VM+SHELL
 
你们公司既然有自己的SHELL 为什么不用?太弱了吗?
 
壳是留给破解者希望的门,而门槛就是那条看起来隐蔽,但其实很容易暴露的长跳转。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部