看流星社区

 找回密码
 注册账号
查看: 2520|回复: 0

也谈网络验证 网络验证防破解的一些思路

[复制链接]

该用户从未签到

发表于 2015-1-11 21:18:28 | 显示全部楼层 |阅读模式
------- 正文 -------------------
破解的手段:
常见的两种,一种是不修改程序,通过封包拦截或者干脆HOSTS文件来劫持验证地址,返回验证通过标识。 另一种是反汇编跳过验证部分。
当然,还存在其它手段,但是这两种是最常见的了。

思路:
就和网站反黑一样,核心思路只有一个,让他的破解投入(精力,时间)大于他愿意投入的底线,也就是尽量将破解难度提高到他一看就头疼,虽然知道能破解但是想到繁琐的步骤就打退堂鼓。

1 双向验证,数据加密对比
类似DZ论坛formhash的方式,程序首先从服务器端取得一个随机数/字符串,然后将用户名、密码、随机数再加入一些乱七八糟字符,进行MD5或者其它不可逆加密,然后POST账号密码给服务器,服务器端也进行同样的有损加密,得到加密后的字符串;然后如果是时间限制类的,就将剩余天数穿插进这个字符串里发送给客户端,客户端程序首先内部比对看加密串是否一致,一致则返回剩余天数,不一致则判断为非法破解,通知服务器锁定账号。这样等于是双向验证,即使封包拦截,如果不知道具体加密方式的话即使返回结果也没用。当然,这样处理还存在直接跳到剩余天数大于1之后来破解,这就需要我们下面其它手段。

2 验证步骤弱化保护
通常情况下,我们写程序是最先进行验证,验证部分作为一个独立块(子程序)来运行的。虽然这样自己看程序方便,但别人搞程序就更方便了,很容易就可以跳过你验证的部分。我采用的办法是将验证程序打散,穿插进整个程序的任何位置,在程序进行以前,甚至是主体功能循环了固定次数之后才进行验证,以此来给他造成已经破解成功的错觉,但还不能用,这样他的工作会倍增。

3  标识更改,替换,伪装
汇编破解的时候,最常见、最开始采用的手段是OD搜索成功文本,比如你的软件登录成功后会显示"登陆成功!剩余3天"这样的字样,他就可以用OD载入后搜索 “登陆成功”这个字符串,搜到这个后面就是你的程序主功能入口了。那么我们怎么办呢?删掉这个字符串吗?嘿嘿,不,恰恰相反,我们就是要利用这个心理来构造一个黑洞。就像网站搞的处处是漏洞来隐藏真实漏洞一样,让他无从下手。简单的说,在程序多个位置都写上“登陆成功!剩余3天”这样的字样,但是真正验证登录成功的我们反而返回其它字符,然后程序让显示一下。同理对其它关键字符串进行迷惑处理。

4 关键数据网络取得
通常情况下我们的程序是独立的,放给用户本机上运行的;最多是在服务器上检测一下用户权限而已,这就好像一个网络游戏把所有游戏数据计算都交给用户本地,结果人家用金山游侠都能改游戏数据,太傻了。我们要做的就是像网络游戏一样,关键数据的交互放在服务器端进行。详细的大家可以参考网络游戏的模式思考就行了。

5 一分为二 互相写入
将一个程序分为两块,功能交叉调用;或者是一个用作数据存储。程序首次运行的时候将一些数据写入到另一块程序里,比如文件大小,MD5等,第二次运行首先检测这个文件数据是否一致;运行第二块程序的时候也同样检测。也就是说一个整体的功能从中间切开,分成两个程序来完成,而这两个程序分别从对方身体里取得数据验证自身。

6 真真假假 混合运行
比如当你进行网络验证的时候,肯定是连接你服务器的IP,并且POST一个数据过去。如果只是单独这一个连接,人家抓包一看就知道你是何方妖孽了。但是如果我们把一个相同的数据包POST到N个不同的地方,而这N个地方都有相应的数据返回,我们程序也对返回做相应的无用处理,他要从这N个里面找到那个关键的,可能就要费点事了吧?呵呵。同样的手法我们可以交叉在程序中使用,比如读写内存的,原来是读取一个地址,你可以同时读取N个,然后对每个都做处理;当然只有主要的那个做关键处理,其它都是进行一些加减乘除之类无用运算,以此来干扰反汇编思路。

--------------------------------------------------------
小结: 以上步骤都很简单,很不起眼,甚至只是个思路的转换问题。但恰恰是这些小措施,反而能让人望而却步。你想想,如果一个程序需要破解很长时间还未必破解的出来,而同类程序有很多,他干嘛非在这一棵树上吊死?这就是我所说的,让他的破解投入(精力,时间)大于他愿意投入的底线,他自然会把目标转移到其它在他底线范围内的程序上去。
说到底,你要明白,他只能从程序流程上分析你的程序运行过程,那我们就干扰这个程序流程,让他不断的走弯路,反复的走弯路,一条道跟了好久发现是死胡同,连续几十几百次还不气馁的话,被破解我也认了。。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-2 18:22

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表