我正在制作一个具有客户端和服务器端的商业产品。客户端完全依赖于服务器,只是为了让它更难破解/盗版。问题是,即便如此,有人可能会对协议进行反向工程并制作自己的服务器。
我曾考虑使用ssl或其他算法加密连接,因此仅通过嗅探客户端和服务器之间的流量就不会轻易找出协议。
现在我唯一可以想到的是盗版者会使用的是反编译程序,删除加密并尝试查看“纯文本”协议以便对其进行逆向工程。
我已经阅读了之前的主题,我知道不可能破解,但是程序员可以为我们的代码带来哪些调整,使其成为破解者的头疼问题?
答案 0 :(得分:11)
阅读how Skype did it。无论如何,总的来说,这是不可能的。
答案 1 :(得分:3)
您需要注意的一件事是,大多数打包器/加密器会导致病毒扫描程序出现误报。这可能非常烦人,因为人们总是抱怨你的软件含有病毒(他们没有得到误报的概念)。
对于协议混淆,请勿使用SSL。当您使用纯文本调用Send
时,攻击者拦截明文是微不足道的。使用SSL保护连接并在发送数据之前对数据进行模糊处理。混淆算法不需要加密安全。
答案 2 :(得分:1)
以下是一些关于撰写良好保护的好建议:http://www.inner-smile.com/nocrack.phtml
答案 3 :(得分:1)