我相信当你发现你心血之作正被破解时,你最希望做的就是让对方收手.
本《防御指南》献给你-网络上的路人。
以下是经验之谈,希望能给阅读本文的你带来新的思考。
- 知悉
- 惩罚
- 自强与自慰
- 关注可能的源头
知悉
首先你一定想尽快知道这一军情,这是正确的选择,以下是针对具体状况的一些建议:
- 当你的软件提供网络服务时,封掉对方账号,让他失去后续服务。如果你的程序依赖后续服务和更新的话,这将使破解者为此付出购买账号的金钱代价。但是如何使用不起眼的方式回报对方的账号是一门学问.对于某些特殊情况的服务,你的服务由于实际应用环境难以要求维购买者长期联网,如何将此信息传出是一门学问,你可以选择主动出击诱导对方打开网络开关,或者一直保持等待传输状态,制造一些小“故障”,让对方被迫打开网关。
- 当你的软件只是提供本地服务该如何处置被攻击的情况。
- 当你的软件深陷虚拟机时.什么是真实的世界?什么是真实的PC?一个无法使时光倒转的PC就是真实的.换言之一个反复运行你的程序到先前状态的PC应当被拒绝。如何去区分呢?其实虚拟机并不一定是一个永恒重复的地方,一个漏洞是BIOS的时间在走动。一种方案是:每隔一定时间生成一段包含时间的标记,如果这段标记消失或者标记是过去的则说明时光逆转了,这里要注意关机和休眠的情况。另一种方案是借助我们的服务器来确保时光不会倒转。即将标签放在云上。
惩罚
对尝试分析以及盗版你的程序的人(简称为:攻击者)我们能做写什么呢?
其实我们在上面的方案已经展示了在经济上对攻击者的打击即封号。有人可能会想到法律上的惩处,但实在艰难,理由不说。
- 出错:装傻卖疯,以静制动.让攻击者误以为我们的程序是个BUG漫天的程序,如果继续破解会严重侮辱和影响他的智力。不详细举例。
- 攻击: 其实这才是重头好吗?如果对方使用的是虚拟机建议你装傻装简单。如果真正电脑,,,,我why打这几个逗号呢?因为我在纠结,其实我是想格盘的,但是你想想如果你格了他的盘,他能不跟你急?说不定立马请大师把你的软件搞了,这不是自杀吗,有违我们的目的,何况误杀了怎么办,把你的客户搞了,你没得钱赚还背骂名。还是不要这么直接极端的好。难道就没有别的办法了吗?延时删除几个文件让电脑出问题别怀疑到你身上但又没有空和心情调试你加上前面的装傻装简单。
注意自己的边界,有些被破解者直接对攻击者使用木马截取对方隐私信息,这不推荐。
要自强&&不要自慰
正确地使用最强壮的保护方案延缓对方破解的速度。
- 在关键代码使用外部保护方案提供的标记将使你的程序更安全。
- 延缓意味着它可能在明天被破解,特别是脱壳工具被暴露出来的时候。
在设计上不要松懈,自慰之心不可有。
回想一下,木桶短板理论。
举一个例子:
某软件校验验证码是一个dll功能算法复杂且使用私有壳保护。
短板:
但接受验证结果的模块未做任何保护,字节该je为jne即过。
对方需要你复杂的验证码算法吗?
以攻击者的思维来看防护问题是个有用的角度。对方实际上在对你的产品做黑盒安全测试。
关注可能的源头
即使技术上再强大,如果值得总有被人突破之日。通过论坛等途径知道何时亡羊,为时不晚。
多去菜市场看下有没有自己的羊被偷后卖肉了。
移动端上不少APP加固公司提供了“盗版监测”功能,毕竟要想获利上应用商场是个快捷的办法。PC端上可能需要你经常依据你的程序类型可能出现的地方进行搜索了。
结语
感谢我的家人忍受我为了写本文关掉了和她的视频。
2016年9月18日星期日 21:47
全文共1424字,使用Markdown+小鹤双拼输入,较大提高了输入的舒适度。