包装和保护可执行文件
Wrap and Protect executable
我正在开发一个复制保护软件,我正在尝试为任何类型的可执行文件(托管和非托管)创建一个包装器。然后,这个包装器将尝试执行包装的可执行文件,而不像普通的那样将其写入磁盘,并使用Process.Start()
执行它。
我使用。net 4.0 Assembly和Appdomain来让它工作,但正如我阅读和测试的那样,它只会与。net可执行文件一起工作。如果不将任何可执行文件"裸"写入驱动器,我该如何执行它们呢?
例如,我可以在加密的压缩文件中执行它吗?还是MemoryMappedFile ?你真的在浪费时间。你不能阻止别人复制你的可执行文件、获取你的代码或其他任何东西。即使您可以完美地保护磁盘上的可执行文件,在它开始运行的那一刻,有人也可以使用调试器对可执行文件进行转储,甚至可以从内存映射文件进行转储。这就是像Xenocode,或。net Reactor,或任何其他类似的打包器被打败的原因。
对你来说,更好的选择是停下来,思考一下你真正想要实现的是什么。你担心有人违反许可协议吗?你担心你的软件出现在海盗湾吗?如果你做的是有用的软件,这两件事都是可能发生的,而不是可能发生的。如果合适的话,用版权保护你的软件,用专利保护你的算法。这样你就有法律追索权去追究违规者了。很抱歉打破你的幻想,但是没有技术解决方案是不能被击败的。加密狗可以被模拟,网络服务可以被修补,加密密钥可以被嗅探,等等。把你的时间花在让你的软件变得更好,而不是试图保护那些不能保护的东西。
相关文章:
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- CMake:如何将库 A 链接到库 B,然后将可执行文件链接到库 A
- 如何使字符串出现在编译的二进制可执行文件的开头?
- 程序在使用 system() 启动另一个可执行文件时停止
- 如何更改使用 CPack 安装的可执行文件的名称?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- CMake:我们可以为一组不形成可执行文件或库的特定文件指定包含目录吗?
- 如何将图像传入C++可执行文件并将输出图像存储在新目录中?
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 如何在 linux 可执行文件中使用静态库
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 编译的C可执行文件被Windows defender检测为病毒
- Linux 可执行文件通过 dlopen 在emplace_back崩溃打开共享库
- 是否可以在命令行中将输入参数传递给可执行文件
- 如何在可执行文件中存储常量数组?
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 可执行文件C++包括.obj,.lib和.dll吗?
- 包装和保护可执行文件
- 保护可执行文件不受逆向工程的影响