Is there any way to prevent the Dumping of the Pure C# Assembly Executable loaded into the memory which is originally protected by a 32 Bit Exe Native Code Wrapper.
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
@Hasan is right in saying that there is no way to prevent a memory dump. However, I think there’s a deeper issue here. When you write about a C# assembly being “originally protected by a 32 Bit Exe Native Code Wrapper” (emphasis mine), it seems that you want to prevent someone from examining the contents of the C# assembly itself.
As soon as someone has their hands on that assembly, they can crack it open and learn more about it than you expect. For instance, they can decompile it to C# source code using dotPeek or ILSpy. You can use an obfuscator to make your life more difficult for someone using these tools, but even obfuscation only goes so far.
The bottom line is: once you make it available to someone else, it’s out of your hands. Expect that someone else will decompile your code and post copies on torrent sites (unless it’s free anyway). Don’t put your super-secret database password in your code, because someone can decompile the code and read the password off in plain text. Even if you’re running this code on a server, don’t put the password in the code, for reasons I describe in another SO answer here.
N.B. Once you start distributing your software, there is also no way to prevent someone from attaching a debugger to your running executable, so barring the issues with inspecting the executable itself, someone doesn’t even need a memory dump in order to inspect runtime information.