http://www.red-gate.com/products/dotnet-development/smartassembly/
有没有一个类似C++的smartassembly的程序可以从任何链接的DLL中删除所有不需要的代码(以减小大小),并将它们打包到一个EXE中,然后对其进行模糊处理和压缩?制作一个漂亮的小型安全EXE?
我喜欢我制作的任何.net程序的智能汇编,不知道是否有适合C++的东西。
谢谢!
是的,这样的工具被称为链接器。您通常在编译应用程序后运行它,尽管在大多数集成开发环境中,这只是一个单独的步骤,有一个巧妙的名称,如"构建"。
换言之,对于C++来说,您必须跳过这些障碍来删除不需要的代码,并对C#等托管语言进行"模糊处理"。链接器将只链接代码使用的函数,由于所有内容都被编译为二进制文件,因此它已经被混淆了。
不过,DLL的内容中不会链接任何内容。DLL的全部意义在于它是可执行文件动态引用的,这就是为什么它被称为"动态链接库"。如果您想要在编译时静态链接的代码库,则需要使用静态库而不是DLL。