| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 864 人关注过本帖
标题:求助, 改vfp代码使其具有稳藏性
只看楼主 加入收藏
wxhapxl
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-7-29
结帖率:20%
收藏
 问题点数:0 回复次数:12 
求助, 改vfp代码使其具有稳藏性
大家好, 我在command1中的Click下输入以下代码(有一次被稍稍懂一点VFP的人把2011.12.31 改成了2012.12.31)

为了安全请问怎样修改以下代码才更具有稳藏性。

if date()<ctod('2011.12.31')
do form rs_rj1
endi

**此表单rs_rj1只限于用到2011.12.31
2011-08-01 09:23
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11802
专家分:43421
注 册:2006-5-13
收藏
得分:0 
如果用户修改电脑系统日期怎么办?

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-08-01 09:30
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:0 
要真正的隐藏可否这样考虑
通过加密程序将一个日期值写入一个文件,这个文件用其它办法打开是不可识别的,程序启动时将这个文件解密,读入值与当前日期进行比较。
要防止用户修改系统日期,每次程序启动时将这个加密文件中上次启动日期时间读出来与当前日期时间进行比较,通过后将当前日期时间再存入文件,否则不通过。
这个思路我没具体做过,不知可否作为参考?
2011-08-03 20:19
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
date()是电脑的系统日期。用户是可以修改的。因此 if date()<ctod('2011.12.31')的方式,不能有效解决问题。寻H不得的方法也是一样。如果能找到用户不能修改的INTERNET的日期时间,那么就好办了。
2011-08-06 12:25
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:0 
还别说以前没重视过代码更具隐藏性的问题,除了密码以外,我还做过用IP控制,但时间如何控制还真没弄过,不知道各位有何好手段呢?
期待中
2011-08-08 22:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我都没弄明白所谓的具有隐藏性是什么意思,好像谁都看着他源代码似的。

授人以渔,不授人以鱼。
2011-08-08 22:57
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:0 
刚用记事本打开编译成的EXE文件,确实能看到不少内容
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

但关键的主程序部份好像还是看不到吧
我的主程序中有一段
IF   apphand <> 0
   MESSAGEBOX("该程序已启动!",16,"提示",4000)
   QUIT
   read events
ELSE
  IF DATE()<CTOD('2011.12.06')  &&用这个作时间限制
    do form kkl
    read events
    use  
  ENDIF
ENDIF
用记事本看不到这一段在哪儿的,对付一般的菜鸟我看不用担心破解的吧
2011-08-08 23:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你看看编译的选项设加密了没有、去除调试信息了没有。以前反编译FP的软件我见过,加密了的也能反,但所有变量名和函数名是自己生成的,不是原来的那些,若非那是自己写的程序,恐怕没谁看得懂。

[ 本帖最后由 TonyDeng 于 2011-8-8 23:15 编辑 ]

授人以渔,不授人以鱼。
2011-08-08 23:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
要说他真有需要隐藏的,不是代码,而是这种太明显的意图,傻瓜都测试得到那是检测系统时间的,谁叫你万试万灵呢,只要时间一到,立马启动不了,不会第一时间怀疑你检测系统时间?只不过此人听不得建议,重复发帖咨询,再答就自讨没趣了。你们探讨吧。

授人以渔,不授人以鱼。
2011-08-08 23:29
i10010
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-8-11
收藏
得分:0 
我的思路:将时间转换成字符串,然后写入注册表。
  如果系统时间 大于 注册表时间
系统时间写入注册表串
否则
禁止入内
2011-08-12 15:17
快速回复:求助, 改vfp代码使其具有稳藏性
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013676 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved