发布软件

时间:2010-11-09 10:58:18

标签: obfuscation publishing deobfuscation

我正在制作一件我想最终销售的软件。现在我很好地与有兴趣玩它并测试它的人分享它,也许在网页上作为alpha版本。但我不希望别人窃取我的代码。代码混淆器会完成这项工作吗?我也应该对它进行版权保护吗?我真的不知道从哪里开始,所以任何帮助都会有所帮助。

3 个答案:

答案 0 :(得分:1)

如果您只发布可执行文件,那么唯一可以做的就是对其进行反向工程。

答案 1 :(得分:1)

如果您的程序被编译为托管可执行文件(例如.net),如果您不希望人们查看您的代码,您可能希望对其进行模糊处理。如果您非常担心窃取代码的人,为什么不将alpha测试仅作为邀请发布(人们通过留下评论,姓名,电子邮件,电话号码,地址等来请求邀请,然后您决定是否允许它们)。这样您就知道谁下载了您的程序,并且更容易跟踪其使用情况。

编辑:我发现了一篇关于软件许可here的精彩文章,您可能也想阅读它们。

答案 2 :(得分:0)

回答你的2个问题,特别是关于窃取源代码的问题:

  • 混淆器将使某人更难以对您的源代码进行反向工程(然后窃取)。需要进行权衡,因为混淆具有显着的测试负担,并且还会对未处理的异常的堆栈跟踪造成混乱。
  • 对二进制文件进行版权控制不会阻止某人窃取您的来源。根据您用于软件许可的国家/地区,对二进制文件进行版权保护可能会帮助您解决不针对源代码的攻击。<​​/ li>

如果您使用的是托管语言(如C#或Java),则可以使用诸如Themida之类的打包程序或免费的MPress将可执行文件打包到加密的包装器应用程序中。这将使用.NET Reflector等工具减慢攻击者的速度,而IMO是一种比使用混淆更容易维护的方法。