多半检测到代码中的敏感操作,只是这些操作是无害的,就像我前两天写了个软件的注册功能,就是软件一运行检测是否注册,没注册的话就必须注册了才能使用,如果注册后用户改了注册表(暴力破解等),都会被要求重新输注册码,我那是写入注册表的,在WIN7下普通用户就无法完成操作,被拒绝写入注册表,不能完成注册,在超级管理员下可没问题,我是取出CPU和硬盘的硬件标识码,然后面前面加上期限日期(比如明年今日就过期),然后加密,每次运行软件都把注册表的值取回来,解密后取出日期部份,然后对比当前系统日期,当然注册表里还有一个注册日期,当前系统日期小于注册日期时,判断为用户把电脑日期改提前了,目的是想让软件不过期 哈哈,因为用户如果每次成功登录,注册表中注册日期就会被改为当前登录的日期,所以用户成功登一次,注册日期就是登录日期了,如果想把系统日期改为提前是不可能,会让重新注册,然后软件判断系统日期和使用期限日期的比较,如果系统日期小于期限日期,则软件正常使用,反之提示软件过期,并且把注册表期限日期改为0或空,便软件每次启动都会提求过期 只有注册才能使用
本来我开始把注册日期也这样处理的,也就是用户改过系统日期,把系统日期改提前了,检测软件就把注册表注册日期改为0或空,这样即便是用户再把日期改回来也没法使用,因为软件启动时要检测注册日期,如果检测不到或检测错误会被要求重新注册。但后来怕用户老是改,麻烦商家提供注册码,注册日期就没做控制,只要用户把改提前的注册日期再改回来,就可以正常使用,但用户把系统日期改后就好玩了,只要系统日期的改动不超过期限,软件都能使用,我开头说过,软件只要成功登录,注册表中注册日期会被改为当前登录日期,用户如果把系统日期改后,则没有办法再改回来。。