每天拿出一分钟来学习,你的生命会更加精彩。

洪雨关于软件验证的思考

发布:洪雨2020-5-9 9:49分类: 编程相关 标签: 编程

    今天洪雨讨论的是不关注安全性问题下的软件验证(网络有安全?)。

    软件验证最简单的方法就是绑定电脑,而绑定电脑的方法通常都是获取电脑硬件信息然后加密,加密方法通常是md5这种很难逆向的算法。

    然后用注册文件或者注册码进行验证,一机一文件或者一机一码。

    这种东西在不加壳的情况下破解起来太容易了,就算不破解,单纯获取一个注册版本然后模拟硬件信息就可以做一个注册机。

    所以后来出现了网络验证。

    简单的网络验证,就是软件运行时自动获取网络验证信息,然后看是否符合,符合了就运行,不符合就不运行。

    这种方法也是最常用的,因为作者可以通过控制信息源头来控制用户软件是否注册成功,是否停用,和更新等问题。

    但是这样也有很多的麻烦,比如你想让一个用户只使用一个月时间,那么到期了,你还需要手动停掉,如果你忘记了,人家就成永久使用了……

    怎样才能做到到期自动停止呢?

    如果要一定安全性,就需要一个中介软件进行自动识别。而你又不能总是开着自己的电脑进行识别,而一般的家用网络的上传速度又不够,如果使用人数众多,验证就会出现堵塞卡顿。

    所以就要使用服务器24小时运行中介软件,而这个中介软件就24小时计算审核用户的使用时间。

    如果是自己架设,这个成本是很高而且浪费资源,所以市面上出现了很多提供验证服务的公司。你只要在软件对接他们的接口,他们来帮你看着谁到期谁没到期。而且,可以根据机制出现日卡月卡年卡,这种更灵活的注册方式和销售方式。为了防破解,再加上一层商业加密壳,这也是诸多商业软件选择的验证方法。

    确实方便,不过对于不怎么赢利的软件来说,就算了,费用相对来说还是不菲。

    现在流行的验证方法是qq群验证法。这种方法比较简单有效,而且很利于客户维护。就是如果你在这个qq群里,软件就能使用,如果不在,就不能使用。作者作为群主,可以灵活拉人入群和删除群成员。

    原理也很简单,在软件上加入qq快捷登陆,只要登陆qq,就有资格查看自己的群,只要这个注册群出现了,就证明自己在这个群里,软件就能运行。

    不过,现在qq群空间卡的很,因为玩qq群空间的人少,所以腾讯分给它的服务器很垃圾。这就导致验证时长出问题。

    洪雨还有一个应对措施,就是进行页面验证。

    通过qq快捷登陆获取qq号,然后不验证qq群,而是验证单独一个页面,这个页面里存放着所有注册会员的qq,如果寻找有,软件就运行,如果没有就注册失败。

    这个页面,可以是自己网站的页面,也可以是新浪博客的博文页面,我发现现在很多人用微云等网络记事本来做,原理都是一样的。

    刚刚洪雨看到有人用b站来做验证,原理跟qq群验证基本相同,流程就是,软件界面是B站的登陆界面,你登陆b站后,软件自动查询作者的主页,如果你的账号关注了作者的主页,软件就能运行,如果没有,就不运行。

    通过这个原理举一反三,前一阵洪雨帮朋友做了一个微博小工具,那么同样也可以做微博关注验证。

    作为作者,你发布一条微博,只有粉丝才能查看。当用户使用软件的时候,需要先登陆自己的微博,软件自动查看你发布的这条微博,如果能获取结果,那么证明是关注了的粉丝,如果获取不了,就证明没关注。没关注就不运行,关注了就运行,就这么简单。

    呵呵,如果你是软件作者,洪雨说到这里,你是不是感觉灵光一闪,很有感悟?

    洪雨再聊点思维干货,怎样做到无服务器,自动控制软件运行时间?或者更进一步,做到无服务器软件发卡注册?

    其实也是一个思路的问题,首先,软件要能读网络时间,以前很多软件都是读电脑系统时间,破解起来太容易,自己改改电脑时间就能破解。随意最好做到读取网络时间。

    然后是配置或者dll里面数据加密读写。

    原理,初步我们可以选择绑定qq或者绑定机器,就是洪雨上面说的方法。然后,根据qq号,或者电脑信息,根据算法我们获得一串数字,然后我们对到期时间进行加密,对接到这串数组后,得到一串新的数字。这一串数字,就是注册码。

    用户用这个注册码注册,软件会自动解释,然后将到期时间写到配置文件或者dll中。

    软件在每次运行的时候,都会自动获取网络时间,然后匹配配置文件或者dll中记录的到期时间,如果到期就提示到期,如果没有就正常运行。

    第二种,就是更进一步的发卡,日卡月卡年卡那种注册码。原理跟上面一样,只是注册的时候进行一个小计算。例如注册一个月卡,如果软件已经到期或者从零开始,那么读取网络时间然后加上一个月,写入配置或者dll里。如果是续费,那么记录根据上一次时间,再加上一个月后再记录到dll或者配置里。

    就这么简单。

    当然了,这种本地验证的方法更加容易被破解。

    不过洪雨认为,关于破解问题,不用太在意,稍作处理加个强壳就是了,如果大神真的想破解你,怎么都能破解,看看那些做商用加密壳的公司,加密壳本身就被破解了,这不是很打脸?

    

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

已有 0/1765 人参与

发表评论:

欢迎使用手机扫描访问本站,还可以关注微信哦~