出版软件

发布于 2024-09-30 23:54:34 字数 141 浏览 10 评论 0原文

我正在开发一款软件,我想最终出售它。现在我很乐意与有兴趣使用它并测试它的人分享它,也许在网页上作为 alpha 版本。但我不希望人们窃取我的代码。代码混淆器可以完成这项工作吗?我是否也应该对它或类似的东西进行版权保护?我真的不知道从哪里开始,所以任何帮助都会有所帮助。

I'm working on a piece of software I would like to sell eventually. Right now I'm fine with sharing it with people that are interested in playing with it and testing it, perhaps on a web page as an alpha version. But I don't want people to steal my code. Will a code obfuscator do the job? Should I also copyright it or stuff like that? I really have no idea where to start, so any help will help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

轻许诺言 2024-10-07 23:54:34

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

编辑:我在此处找到了一篇关于软件许可的精彩文章,您可能也想阅读它们。

If your program is compiled as managed executable (such as .net), you might want to obfuscate it if you don't want people poking on your code. If you worry so much about people stealing your code, why not release the alpha testing as invitation only (people request invitation by leaving comment, name, email, phone number, address and so on and you decide whether to allow them or not). That way you know who download your program and it would be easier to track its usage.

Edit: I found a great article about software licensing here, you might want to read them too.

红ご颜醉 2024-10-07 23:54:34

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

If you publish just your executable, the only thing that could be done is reverse engineer it.

飘过的浮云 2024-10-07 23:54:34

回答您的两个问题,具体是关于窃取源代码的:

  • 混淆器将使某人更难对您的源代码进行逆向工程(然后窃取)。混淆会带来巨大的测试负担,并且还会扰乱未处理异常的堆栈跟踪,这是一个权衡。
  • 对二进制文件进行版权保护并不能阻止有人窃取您的源代码。根据您用于软件许可的国家/地区,对二进制文件进行版权保护可能会帮助您应对并非针对您的源代码的攻击。

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

To answer your 2 questions, which are specifically about stealing source code:

  • An obfuscator will make it harder for somebody to reverse-engineer (and then steal) your source code. There is a trade-off in that obfuscation has a significant testing burden, and also mess with the stack trace for an unhandled exception.
  • Copyrighting the binary won't do anything to stop somebody stealing your source. Depending on the country that you use for your software licensing, copyrighting the binary may help you with attacks that aren't aimed at your source code.

If you're using a managed language such as C# or Java, you can use a packer such as Themida or the free MPress to pack your executable into an encrypted wrapper application. This will slow down attackers using tools like .NET Reflector, and IMO is a more maintainable approach than using obfuscation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文