包装和保护可执行文件

本文关键字:可执行文件 保护 包装 | 更新日期: 2023-09-27 18:13:27

我正在开发一个复制保护软件,我正在尝试为任何类型的可执行文件(托管和非托管)创建一个包装器。然后,这个包装器将尝试执行包装的可执行文件,而不像普通的那样将其写入磁盘,并使用Process.Start()执行它。

我使用。net 4.0 Assembly和Appdomain来让它工作,但正如我阅读和测试的那样,它只会与。net可执行文件一起工作。如果不将任何可执行文件"裸"写入驱动器,我该如何执行它们呢?

例如,我可以在加密的压缩文件中执行它吗?还是MemoryMappedFile ?

包装和保护可执行文件

你真的在浪费时间。你不能阻止别人复制你的可执行文件、获取你的代码或其他任何东西。即使您可以完美地保护磁盘上的可执行文件,在它开始运行的那一刻,有人也可以使用调试器对可执行文件进行转储,甚至可以从内存映射文件进行转储。这就是像Xenocode,或。net Reactor,或任何其他类似的打包器被打败的原因。

对你来说,更好的选择是停下来,思考一下你真正想要实现的是什么。你担心有人违反许可协议吗?你担心你的软件出现在海盗湾吗?如果你做的是有用的软件,这两件事都是可能发生的,而不是可能发生的。如果合适的话,用版权保护你的软件,用专利保护你的算法。这样你就有法律追索权去追究违规者了。

很抱歉打破你的幻想,但是没有技术解决方案是不能被击败的。加密狗可以被模拟,网络服务可以被修补,加密密钥可以被嗅探,等等。把你的时间花在让你的软件变得更好,而不是试图保护那些不能保护的东西。