首页
社区
课程
招聘
Java程序的奇怪问题
发表于: 2006-10-30 09:46 4520

Java程序的奇怪问题

2006-10-30 09:46
4520
有一个java程序,它添加了时间限制,过期就不能使用了。我用了注册表监视工具,却什么有用的信息也没发现。

大虾们指点一下问题在哪里?它是用什么办法添加时间限制的呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
注册信息不一定放在注册表,授权文件、程序本身都有可能。
2006-10-30 11:13
0
雪    币: 328
活跃值: (39)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
对于时间过期的方式 除了授权文件的方式外,还有一种就是添加日期判断到
类文件中,实例 Smokescreen试用版 针对的操作

比如
类代码中含有的静态代码快

static{
  long l1 = 0xDDDDDDDDDDDDDDL; // 过期时间
  long l2 = System.currentTimeMillis(); // 当前时间
  if(l1 < l2)
  {
           // 过期
  }
}
2006-11-2 12:29
0
雪    币: 158
活跃值: (1207)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我试过了,在不同时间下载,它的文件都是一样的,

可见限制不在类中。而且程序本身是用混淆器处理过的,麻烦啊。
2006-11-5 18:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Java程序可以直接获得源代码,看一下不就知道了。
2006-11-5 18:56
0
雪    币: 328
活跃值: (39)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
对于你说的,我不太明白,针对类文件中包含的时间限制,有一种情况是这样的
比如无论你在什么时间下载,都有一个制定的日期比如 2006/11/03日
到这个日期软件就不可以用了,
这种情况,类文件是不变的。

还用一种情况是这样的,比如你 2006/11/1日下在,那么类文件中或者相应的
文件中会保存你的下载日起,然后可以使用多少天

像这样

GregorianCalendar gc = GregorianCalendar(2006,11,1); // 日期类表明
                // 下载的时间
                // 其中的日期可以通过各种方式获取
GregorianCalendar gc1 = new GregorianCalendar();  // 当前日期
gc.add(Calendar.DATE, 15);  // 计算15天之后
if(gc.after(gc1))
{
         // 过期了
}
else
{
     // 没有国旗
}

对于以上的代码 可以参阅 JShrink 2.33 ~ 2.36 这个软件采用的就是这种方式
来判断试用版用户的使用时间
2006-11-5 19:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好多java程序的东西都是放在properties文件里的,
还要反编译class阿
2007-2-7 10:11
0
游客
登录 | 注册 方可回帖
返回
//