Question

http://www.red-gate.com/products/dotnet-development/smartassembly/

Is there a program like smartassembly for C++ that will remove all unneeded code from any linked DLL's (to reduce size) and pack them into a single EXE and then obfuscate it and compress it? to make one nice small secure EXE?

I love smartassembly for any .net program I make, wonder if there is something for C++.

THANKS!

Was it helpful?

Solution

Yes, such a tool is called a linker. You generally run it after you compile your application, although in most integrated development environments, this appears as a single step with a clever name like "build".

In other words, the hoops you have to jump through to remove unneeded code and "obfuscate" it for managed languages like C# are absolutely not necessary for C++. The linker will only link in functions that your code uses, and since everything is compiled down to binary, it's already as obfuscated as it is going to get.

Nothing is going to link in the contents of DLLs, though. The whole point of a DLL is that it is dynamically referenced by the executable, that's why it's called a "dynamic link library". If you want a code library that is statically linked in at compile time, you need to use a static library instead of a DLL.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top