|
发表于 2023-9-6 22:45:04
|
显示全部楼层
辽宁省沈阳市
功能不在本地的防破J思路:
1.客户 端做成一个“显示器”,服务端将功能执行完了把结果或者执行过程以图像/演示过程等方式显示在客户 端~~
2.不运行服务端了,客户 端自然就失效了,放出客户 端时同时可把客户 端源码一同放出交给破J者。
功能在本地的防破J思路:
0.采用网络验证。
1.客户 端把关键代码加密,只有使用的时候通过“钥匙”解密。
2.客户 端把关键代码前后vm,发布时再使用VMProtect给软件标记的地方加密套壳。
3.客户 端多处函数或UI交互的事件留下本地或联网(不同网络时间来源)时间判断,到时间所有数 据都无效(就是你是正常用户了也用不了,预存多种提示方法,可酌情随机方法给用户以提示更新)
4.客户 端应读取客户机的多种‘固定’信息提交给服务器记录存档,有能力的建议采用ring0下获取(例如各个硬件特征码,注册表原本存档的硬件特征码,系统版号,系统安装时间,硬盘分区情况等等,即所有能与其他计算机区分开的数据),存档的信息越多,后续验证起来防止破J的阻碍就越多。
5.服务端通过"当前时间"和客户 端的提供的一些信息,将“钥匙”加密返回(例如客户 端的来路IP,地区?、用户名、硬件特征、系统特征等等第4条读取到的数据组合)“钥匙”可以采用“不同的返回数据,使用不同的钥匙组合”方式。
即:让每个客户 端包括返回不一样的东西,这样即使破J了,也会尽量防止它被大范围使用。
6.在5的基础上记录每个用户的交互次数,次数与普通用户相比过大的有可能是破J者,可配合服务端与客户 端的预置通讯来观察用户的IP属地、屏幕录像、截图、进程观察、系统部署情况等综合判断,违规者直接记录硬件、系统、IP等特征并封停+拉黑处理(这时通过此用户名破J的所有客户 端均会失效,后续也可利用记录的违规信息来误导该类违规计算机执行软件的流程)。
总之就是:
客户 端功能在本地的程序没有完美的防破J方法;
但是当你做到客户 端的源代码你一看,
在没有注释的情况下你自己都不知道这里那里是干什么的这时候强度就差不多啦。。。 |
|